2010-11-24 3 views
2

Я пытаюсь использовать ReportLab, но я найти в руководстве пользователя не достаточно ясно .. (может быть, это только у меня)пронумерованные пункты с ReportLab


Я следующий код

for item in content: 
     text = item.name 
     p = Paragraph(text,style,'*') 

И это точно, как и ожидалось.

Но что, если я хочу нумерации вместо пули?

Руководство пользователя действительно расплывчато об этой ситуации ...

ответ

2

The User Guide есть часть на этом. Если я правильно понимаю, вы должны использовать тег <seq/> вместо точки пули для тривиальной нумерации (каждое событие подсчитывает один вверх). Для более сложной нумерации см. Стр. 73/74.

Пример, насколько я понимаю, вы положили вещи, как <b> </b> для смелой textand <seq/> инлайн:

from reportlab.platypus import Paragraph 

formatted_text = 
    "Some example text. <seq/>First. <seq/>Second. <seq/>Third" 
formatted_para = Paragraph(your_formatted_text, your_paragraph_style_instance) 

Вам придется немного поэкспериментировать с разрывами строк. Этого не будет.

+0

Да, я уже это читал. Но все же мне непонятно, как это сделать. Может кто-нибудь, пожалуйста, дайте мне пример кода, основанный на коде, который я написал в вопросе? – dolma33 2010-11-29 15:29:17

1

Старый вопрос, я знаю, но, основываясь на вашем примере кода вы могли бы сделать что-то вроде этого:

paragraph_number = 1 
for item in content: 
    text = item.name 
    p = Paragraph(text,style,str(paragraph_number)) 
    paragraph_number += 1 

Вы можете просто заменить символ маркера с тем, что вам нравится.

Смежные вопросы