0

我试图在 Reportlab 中建立一个目录(但失败了......并且没有坚持太多,而且似乎比我需要的更多......也许我将来会尝试新的......) .

现在我很高兴有一些简单的文本作为文档的指南(该文档主要由一些 Pandas 生成的编号网格组成。我只是喜欢在开头有一个带有网格标题的文本Reportlab 生成的 .pdf)。

我的目标看起来非常简单,就是添加两个鸭嘴兽,一个带有标题,一个带有网格,但没有奏效。所以我转向一个更简单的目标,并尝试附加两个鸭嘴兽纯文本..但这并没有再次奏效...... :-(

我的代码如下:

# settings
from reportlab.pdfgen import canvas
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.platypus import *
styles = getSampleStyleSheet()
PATH_OUT = "C:\\"
titolo = 'Test.pdf'
doc = SimpleDocTemplate( PATH_OUT + titolo )
elements0 = []
elements1 = []
elements2 = []

# 1-st platypus
elements0.append(Paragraph("The Platypus0", styles['Heading1']))
elements0.append(Paragraph("Very <i>Special</i>!", styles['Normal']))

# 2-nd platypus
elements1.append(Paragraph("The Platypus1", styles['Heading1']))
elements1.append(Paragraph("Very <i>Special</i>!", styles['Normal']))

# append them
elements2 = elements0.append(elements1)

# Write the document
doc.build(elements2)

我遇到的问题是,这显然是由于没有 len() 结果对象而严重崩溃。

您有什么建议可能对此有所帮助吗?如果我使用elements0或elements1,一个与另一个分开,它们工作得非常顺利,但是当我尝试将一个与另一个附加时它不会。有什么建议吗?

非常感谢你:-)法比奥。

4

1 回答 1

2

appendon list 将项目附加到位并且不返回新列表。具有以下内容:

elements2 = elements0.append(elements1)

elements2被赋值Noneelements0现在包含一个新项目,即elements1

elements0[0] -> Paragraph("The Platypus0", styles['Heading1'])
elements0[1] -> Paragraph("Very <i>Special</i>!", styles['Normal'])
elements0[2] -> [Paragraph("The Platypus1", styles['Heading1']), Paragraph("Very <i>Special</i>!", styles['Normal'])

如果要将两个文本放在一起,请使用连接

elements2 = elements0 + elements1
于 2013-10-28T16:27:23.063 回答