使用Python生成和合并PDF文件

4
我希望能够在Python中自动生成预订确认PDF文件。大部分内容都是静态的(例如标志,预订条款,电话号码),只有一些动态内容(日期,费用等)。
从用户角度来看,最简单的方法是使用具有静态内容的PDF文件,然后使用Python添加动态部分。这个过程简单吗?
通过一番搜索,我发现可以使用reportlab创建内容,并使用pyPdf将PDF合并在一起。这是最好的方法吗?还是有更酷炫的方法我还不知道?
谢谢!
3个回答

8
从用户角度来看,最简单的方法是使用带有静态内容的PDF文件,然后使用Python添加动态部分。这个过程简单吗?
不幸的是,不简单。有几个工具可以很好地从头开始生成PDF(对于Python,最常见的是ReportLab),但它们通常不会加载现有的PDF。您必须包括生成代码以进行任何样板文本、行、块、形状和图像,而不是由用户自由编辑。
另一方面,pyPdf可以加载PDF,整理页面并提取一些信息,但不能真正添加新内容。您可以将页面“合并”为一个页面,但仍需要首先在ReportLab中创建额外的信息叠加页。

谢谢,我会采用这个 :-) 这意味着用户可以根据自己的需求轻松创建PDF文件。 - Humphrey
2
如果您使用SpooledTemporaryFile,您可以在内存中创建reportlab文件,然后使用pyPdf将它们添加到主pdf文件中。 - Matthew Talbert

2

1

你可以通过 TeX、OpenOffice 或其他最舒适的绑定方式生成文档,然后使用 PDF 打印机打印文档。

这样可以避免你不必精确地确定字段放置位置或者在内容超出分配空间时需要做什么。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接