【问题标题】:How to include page in PDF in PDF document in Python如何在 Python 中的 PDF 文档中包含 PDF 中的页面
【发布时间】:2010-10-14 23:16:17
【问题描述】:

我在 Python 中使用 reportlab 工具包来生成一些 PDF 格式的报告。我想使用已经以 PDF 格式发布的文档的一些预定义部分包含在生成的 PDF 文件中。是否有可能(以及如何)在 reportlab 或 python 库中实现这一点?

我知道我可以使用一些其他工具,例如 PDF Toolkit (pdftk),但我正在寻找基于 Python 的解决方案。

【问题讨论】:

    标签: python pdf pdf-generation reportlab


    【解决方案1】:

    ReportLab 有一个插件——PageCatcher

    【讨论】:

    • 好的,这似乎是正确的工具。不幸的是,它是商业版的 reportlab 工具包,我不能直接使用它——我使用的是开源版本。而且没有定价 - 看起来我必须在下载之前与 reportlab 协商一些价格。
    【解决方案2】:

    我目前正在使用PyPDF 来读取、编写和组合现有 PDF 和 ReportLab 以生成新内容。使用这两个包似乎比我能找到的任何一个包都好。

    【讨论】:

    • 是的,我喜欢这个包。第一个例子就是我想要的,我试试看。
    【解决方案3】:

    如果您想将现有的 PDF 页面放入您的 Reportlab 文档中,我推荐 pdfrw。与 PageCatcher 不同,它是免费的。

    我已经将它用于需要将条形码等添加到现有文档的几个项目中,并且效果很好。项目页面上有几个examples 说明如何将其与 Reportlab 一起使用。

    有几点需要注意:

    如果源 PDF 包含错误(例如,由于原始程序不完全遵循 PDF 规范),即使 Adob​​e Reader 之类的软件在读取 PDF 时没有明显问题,pdfrw 也可能会失败。 pdfrw 目前的容错性不是很好。

    此外,pdfrw 的工作原理是完全不知道您放置的 PDF 页面的实际内容。因此,例如,您将无法使用 pdfrw 检查页面以查看它是否包含右下角的某个文本字符串。但是,如果您不需要做类似的事情,那应该没问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-23
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      • 2010-12-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多