如何将多行内容写入PDF

时间:2015-06-14 19:08:23

标签: python reportlab

我知道,有一个名为ReportLab的好库,可以在PDF中使用Python文件做很多技巧。然而,在探索许多论坛主题时,我发现每个地方都有一个逐行写入PDF的模式:

for line in lines:
    c.drawString(100, 100, line) 

看起来不太好。如果我们可以立即写入PDF,而不必在整个代码中克隆这个循环,那会好得多。像

这样的东西
c.methodName(10, 10, multiline_contents)

1 个答案:

答案 0 :(得分:1)

绘制字符串方法在画布上绘制单行文本。文本对象界面提供了对画布级别不直接提供的文本布局参数的详细控制。另外,它导致了 较小的PDF,其渲染速度比对drawString方法的许多单独调用要快。

类似以下代码段的内容适用于多行文字打印。

def your_function: 
    #canvas is the canvas object instance.
    textobject = canvas.beginText()
    for line in multiline:
        textobject.textLine(line)
    canvas.drawText(textobject)

您可以找到与绘图方法here相关的更多信息。