如何让xhtml2pdf在Google App Engine上运行

时间:2014-04-16 13:26:23

标签: python google-app-engine xhtml2pdf

我一直试图弄清楚如何让XHTML2PDF在GAE上运行。我已设法下载包和依赖项并将它们添加到我的项目文件夹中。但我不断收到错过模块的错误。我试过下载不同的版本和推荐的版本。任何人都可以指导我正确的方向。它已经让我想到这可能是由于app.yaml,但我真的不知道,也不知道如何设置它。

所以我做了什么:

我已下载xhtml2pdf 0.0.5,要求是:

  

Reportlab Toolkit 2.2 +

     

html5lib 0.11.1 +

     

pyPdf 1.11+(可选)

我已经下载了以下依赖项,找不到确切的版本。 (但我猜'+'符号表示上述任何内容)

  

reportlab 3.0

     

html5lib 0.999

     

pyPdf 1.13

我已将以下文件夹复制到项目根目录中:

  

xhtml2pdf-0.0.5.tar.gz \ dist \ xhtml2pdf-0.0.5.tar \ xhtml2pdf-0.0.5 \ xhtml2pdf

     

reportlab-3.0.tar.gz \ reportlab-3.0.tar \ reportlab-3.0 \ src \ reportlab

     

html5lib-0.999.tar.gz \ dist \ html5lib-0.999.tar \ html5lib-0.999 \ html5lib

     

pyPdf-1.13.tar.gz \ pyPdf-1.13.tar \ pyPdf-1.13 \ pyPdf

这是一个妙语..一旦我从xhtml2pdf导入pisa'添加'行,我的应用就停止了工作。如果它在 localhost 中,我会得到一个空白屏幕,但是如果我使用GAE SDK上传它,那么我会得到错误模块的错误 - 总是不同的消息,这取决于我使用的依赖版本的配置。

请记住,我是GAE,Python和一般编程的新手。

2 个答案:

答案 0 :(得分:0)

我现在意识到XHTML2PDF不会起作用。仍然不知道为什么,但决定自己使用ReportLab。

答案 1 :(得分:0)

我找到了一种在GAE上运行最新版本的xhtml2pdf的方法。

我将最新版本的html2pdf / reportlab及其依赖项复制到应用程序的根目录,我还要在一行中调整/修补reportlab

可以在此处找到代码:https://github.com/danimajo/pineapple_pdf

演示在这里:http://flaskpineapple.appspot.com/pdf/