14

我正在寻找一个好的开源的、PDF 生成器/库,它将 html(带有样式等)转换为 PDF 文件。

要求:

  • 必须是 Java 或 Python 并在 Google App Engine 上运行。
  • 必须是免费的、开源的。
  • 必须易于使用/消费。

是的,我自己尝试过搜索 - 我尝试了许多在 Google 等上找到的“解决方案”。但没有一个能让我满意。许多看起来不完整、有缺陷或在 GAE 上不能很好地工作。所以我想我会向 StackOverflow 社区寻求意见或建议。

4

1 回答 1

12

对于 HTML/图像到 PDF,我使用 Python 库http://www.xhtml2pdf.com/,它使用在 GAE 上运行的 Pisa、Reportlab、pyPdf 和 html5lib。我一直在使用它来生成带有嵌入图像的非常好的文章 PDF,一旦我弄清楚如何正确设置页面大小,我发现这是一个非常好的库。

您将需要 xhtml2pdf 库及其依赖项: https ://github.com/chrisglass/xhtml2pdf

我将一些示例 Python 代码放在一起并将其放入此 pastebin: http: //pastebin.com/FFEZjNs3

最后得到的 pdf_data 是二进制 PDF 文件数据。您提供给 pisa 的 html_data 实际上是包含 HTML 文档的任何字符串。

有一些推荐的东西包含在你的 HTML 中,以获得格式良好的 PDF 输出。这是一个类似于我使用的基本模板的示例 HTML 文档。注意作者元字段和@page CSS: http ://pastebin.com/q1wRm9nJ

以下是有关兼容 CSS 和 HTML 的文档: https ://github.com/chrisglass/xhtml2pdf/blob/master/doc/usage.rst#supported-css-properties

您可以使用外部图像的 URL 包含图像,也可以使用 dataUri,xhtml2pdf 具有创建这些“pisa.makeDataURI()”的功能。

希望这会有所帮助。

于 2013-08-21T19:05:30.093 回答