簡體   English   中英

使用Python將HTML / CSS / Javascript文件轉換為PDF?

[英]Convert a HTML/CSS/Javascript file to PDF using Python?

我需要使用Python將HTML + CSS + Javascript文件從Django View轉換為PDF。

我可以使用xhtml2pdf / PISA,但它只支持HTML和CSS,而不是Javascript,這是必需的。

另一種選擇是py-wkhtmltox,但它已經很老了,我還沒能讓它工作,我只是得到“ImportError:libwkhtmltox.so.0:無法打開共享對象文件:沒有這樣的文件或目錄“,不知道從哪里獲取該文件只是為了藍色重命名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視圖。

我現在唯一能想到的就是從django視圖創建一個單獨的webkit python腳本和os.system,使“sys.exit(app.exec_())”成為可能,從而得到PDF的結果。 但我對其他建議持開放態度,從django視圖中使用os.system有點奇怪。

有任何想法嗎?

我建議使用wkhtmltopdf 它可以作為linux的靜態二進制文件使用,因此您不應該遇到任何共享對象問題。 wkhtmltopdf包裝webkit並支持javascript,你甚至可以告訴它在渲染發生之前運行任何JS代碼的時間。 我已經成功地使用它制作了一些頁面的PDF,這些頁面上有一些復雜的圖表生成代碼。 只需使用subprocess.call()啟動它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM