2

HTML+CSS+Javascript ファイルを Django ビューから PDF に変換する必要があるため、Python を使用します。

xhtml2pdf/PISA を使用できますが、必要な Javascript ではなく、HTML と CSS のみをサポートしています。

別のオプションは py-wkhtmltox ですが、かなり古くなっており、まだ動作させることができていません。「ImportError: libwkhtmltox.so.0: cannot open shared object file: No such file or directory "、そのファイルを取得する場所がわかりません。それ以外の場合は、libwkhtmltox.so を libwkhtmltox.so.0 に名前を変更するだけですが、次のようになります。

Traceback (most recent call last):
  File "pdf_test1.py", line 5, in <module>
    pdf.set_object_setting('path', 'http://www.google.com')
  File "wkhtmltox.pyx", line 118, in wkhtmltox.Pdf.__getattr__ (wkhtmltox.c:1228)
AttributeError: 'wkhtmltox._Pdf' object has no attribute 'set_object_setting'

さらに別のオプションは、webkit ( http://bharatikunal.wordpress.com/2010/01/31/converting-html-to-pdf-with-python-and-qt/ ) を使用することですが、「sys .exit(app.exec_())" Django ビューから。

私が今考えることができる唯一のことは、「sys.exit(app.exec_())」を可能にし、結果としてPDFを作成することです。しかし、私は他の提案を受け入れています.djangoビューからos.systemを使用するのは少し奇妙です。

何か案は?

4

1 に答える 1

4

wkhtmltopdfを使用することをお勧めします。これは Linux 用の静的バイナリとして利用できるため、共有オブジェクトの問題に遭遇することはありません。wkhtmltopdf は Webkit をラップし、javascript をサポートします。また、レンダリングが行われる前に JS コードを実行する時間を指定することもできます。複雑なチャート生成コードを含むページの PDF を作成するために、これを使用して成功しました。を使用して起動するだけsubprocess.call()です。

于 2012-04-19T20:27:47.287 に答える