使用ReportLab制作编编号段落

2 投票
2 回答
1762 浏览
提问于 2025-04-16 07:34

我正在尝试使用reportlab,但是觉得用户指南不够清晰……(也许只是我不太懂)


我有以下这段代码

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

它的效果正如我所期待的那样。


但是如果我想要数字编号而不是项目符号呢?

用户指南对这种情况真的说得很模糊……

2 个回答

1

我知道这个问题有点老了,但根据你的示例代码,你可以这样做:

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

你可以把这个小圆点字符换成你喜欢的任何东西。

2

这个用户指南里有相关的内容。如果我理解得没错的话,你需要用<seq/>标签来代替普通的项目符号进行简单的编号(每出现一次就加一)。如果是更复杂的编号,可以参考第73和74页。

举个例子,按照我的理解,你可以像这样使用<b> </b>来表示加粗的文字,同时在行内使用<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)

你可能需要多试几次换行的方式。这个例子里是没有换行的。

撰写回答