我知道这是一篇较旧的文章,但是我花了很长时间尝试寻找解决方案。我碰巧只使用ReportLab和PyPDF,所以我想分享一下:
- 使用阅读您的PDF
PdfFileReader()
,我们称此 输入 - 创建一个包含要使用ReportLab添加的文本的新pdf文件,并将其另存为字符串对象
- 使用读取字符串对象
PdfFileReader()
,我们将此 文本 称为 __ - 使用创建一个新的PDF对象
PdfFileWriter()
,我们将其称为 输出 - 通过 输入 进行迭代,并应用于
.mergePage(*text*.getPage(0))
要添加文本的每个页面,然后用于output.addPage()
将修改后的页面添加到新文档中
这对于简单的文本添加效果很好。请参阅PyPDF的示例为文档加水印。
这是一些代码,可以回答以下问题:
packet = StringIO.StringIO()can = canvas.Canvas(packet, pagesize=letter)<do something with canvas>can.save()packet.seek(0)input = PdfFileReader(packet)
在这里,您可以将输入文件的页面与另一个文档合并。



