Google App Engine PDF转换器

时间:2013-03-14 09:13:02

标签: google-app-engine pdf pdf-generation html-to-pdf

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

要求:

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

是的,我自己也尝试过搜索这个问题 - 我尝试了很多我在谷歌等地找到的“解决方案”。但是还没有让我满意。许多似乎不完整,有缺陷或在GAE上运作不佳。所以我想我会向StackOverflow社区寻求意见或建议。

1 个答案:

答案 0 :(得分:11)

对于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文档,类似于我使用的基本模板。注意作者的meta字段和@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()”的功能。

希望这有帮助。