2009-04-14 42 views
5

¿Cómo puedo crear una lista con viñetas en ReportLab? La documentación es frustrantemente vaga. Estoy tratando:¿Cómo crear una lista con viñetas en ReportLab

text = ur ''' 
<para bulletText="&bull;"> 
item 1 
</para> 
<para bulletText="&bull;"> 
item 2 
</para> 
''' 
Story.append(Paragraph(text,TEXT_STYLE)) 

Pero sigo recibiendo errores como list index out of range. Parece que no puedo poner más de un <para></para> en una sola llamada al Paragraph()? También probé el establecimiento TEXT_STYLE.bulletText="&bull;" pero que no funciona bien ...

Respuesta

7

El argumento bulletText es en realidad un constructor para el objeto Paragraph, no la etiqueta <para> :-) Prueba esto:

story.append(Paragraph(text, TEXT_STYLE, bulletText='-')) 

Tener una mire los ejemplos en la página 68 (página 74 ahora, en 2012) del ReportLab Documentation, sin embargo. La convención en ReportLab parece ser la de usar la etiqueta <bullet>, y los documentos advierten que puede tener solo una por instancia de Paragraph. Podremos dar nuestras balas en ReportLab así:

story.append(Paragraph('<bullet>The rain in spain</bullet>', TEXT_STYLE)) 
+0

página 68 de ... ¿qué? –

+0

Buen punto ... Me refería a la misma documentación que mencionaba el OP. Modificado para proporcionar un enlace (y actualizar el número de página ... ha sido de 3 años ...). –

4

Las versiones más recientes de los objetos tienen ReportLab ListFlowable y ListItem (consultar el capítulo 9 de la guía del usuario actual).

Cuestiones relacionadas