【问题标题】:How to dynamically generate a pdf from Google's appengine?如何从 Google 的 appengine 动态生成 pdf?
【发布时间】:2010-09-24 13:41:18
【问题描述】:

我想创建一个可以在 Google 的 appengine 上运行的应用程序。

但是,此应用程序需要能够动态生成 PDF。

我该怎么做?

【问题讨论】:

    标签: google-app-engine pdf-generation


    【解决方案1】:

    您可以使用reportlab library 从 Python 生成 PDF。您可以只将 ReportLab 文件包含在应用程序的代码中,也可以包含 ReportLab 代码的 zip archive,然后将其插入应用程序的 sys.path

    【讨论】:

    • reportlab 真的可以在 AppEngine 下工作吗?我的印象可能是错误的,认为它使用了 AppEngine 不允许的 C 扩展。
    • Reportlab 是纯 Python,但它对图像使用 PIL,因此您无法将它用于包含图像的 PDF。
    • GAE 现在支持 PIL,所以这应该不是问题。
    • 这真的有效吗?阅读reportlab API,您似乎必须写入文件。这在 GAE 上是不可能的。
    • 您可以写入任何类似文件的对象,这意味着您可以写入例如response.out。例如,konryd.blogspot.com/2008/04/…
    【解决方案2】:

    要克服 google appengine 中的文件数限制,您可以将您的 reportlib 打包成一个 zip 文件并使用它。请务必查看我遇到的这个问题..

    http://code.google.com/p/googleappengine/issues/detail?id=1085

    另外,您可以使用 pisa、htmllib 和 pyPdf 使用 html 模板生成 pdf。

    一切顺利。

    变量

    【讨论】:

      【解决方案3】:

      我会推荐 PyFPDF,它是轻量级但功能强大的 PHP FPDF 库的纯 Python 端口。它几乎只有几十 KB。

      http://code.google.com/p/pyfpdf/

      【讨论】:

        【解决方案4】:

        Google 有一个新的“Conversion API”可以解决您的所有问题。以下是该网站的描述:

        App Engine Conversion API 使用 Google 的基础架构在常见文件类型之间转换文档,以提高效率和规模。该 API 支持 HTML、PDF、文本和图像格式之间的同步或异步转换,并可选择执行光学字符识别 (OCR)。

        【讨论】:

        • 转换 API 似乎已停用。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-23
        • 1970-01-01
        • 2012-01-02
        • 2011-01-09
        • 1970-01-01
        • 2011-12-18
        相关资源
        最近更新 更多