2009-04-14 8 views
5

Comment créer une liste à puces dans ReportLab? La documentation est frustrante et vague. Je suis en train:Comment créer une liste à puces dans ReportLab

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

Mais je continue à obtenir des erreurs comme list index out of range. Il semble que je ne peux pas mettre plus d'un <para></para> en un seul appel à Paragraph()? J'ai aussi tenté de mettre TEXT_STYLE.bulletText="&bull;" mais cela ne fonctionne pas non plus ...

Répondre

7

L'argument bulletText est en fait un constructeur à l'objet Paragraph, pas la balise <para> :-) Essayez ceci:

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

Avoir un regardez les exemples de la page 68 (page 74 maintenant, en 2012) du ReportLab Documentation, cependant. La convention dans ReportLab semble être d'utiliser la balise <bullet>, et les docs préviennent que vous ne pouvez en avoir qu'une par instance Paragraph. Nous rendions nos balles dans ReportLab comme ceci:

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

page 68 de ... quoi? –

+0

Bon point ... Je parlais de la même documentation que l'OP mentionnée. Modifié pour fournir un lien (et mettre à jour le numéro de page ... a été 3 ans ...). –

4

Les versions très récentes de ReportLab ont des objets ListFlowable et ListItem (chapitre 9 du guide de l'utilisateur actuel).

Questions connexes