我在Python中使用reportlab工具包生成一些PDF格式的报告。我想使用已经以PDF格式发布的一些预定义文档部分包含在生成的PDF文件中。是否有可能(以及如何)在reportlab或python库中完成此任务?
我知道我可以使用其他一些工具,比如PDF Toolkit(pdftk),但我正在寻找基于Python的解决方案。
答案 0 :(得分:6)
我目前正在使用PyPDF来读取,编写和合并现有PDF和ReportLab以生成新内容。使用这两个软件包似乎比我能找到的任何一个软件包都要好。
答案 1 :(得分:2)
如果您想将现有PDF页面放在Reportlab文档中,我建议pdfrw。与PageCatcher不同,它是免费的。
我已经将它用于几个项目,我需要在现有文档中添加条形码等,并且效果非常好。项目页面上有几个examples如何与Reportlab一起使用。
但有几点需要注意:
如果源PDF包含错误(例如,由于PDF规范之后的原始程序不完美),即使像Adobe Reader这样的内容在阅读PDF时没有明显问题,pdfrw也可能会失败。 pdfrw目前不具备容错能力。
此外,pdfrw与您放置的PDF页面的实际内容完全无关。因此,例如,您将无法使用pdfrw检查页面以查看它是否包含右下角的某个文本字符串。但是,如果你不需要做任何类似的事情,你应该没事。
答案 2 :(得分:1)
ReportLab有一个加载项 - PageCatcher。