使用Python将HTML/CSS/Javascript文件转换为PDF?

2024-09-29 19:20:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要将HTML+CSS+Javascript文件从Django视图转换为PDF,因此需要使用Python。在

我可以使用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/),但我无法执行“系统出口(应用程序执行_())”从Django的观点来看。在

我现在唯一能想到的就是创建一个单独的webkit python脚本和操作系统从django的角度来看系统出口(应用程序执行_())“可能,因此结果见PDF。但我愿意接受其他建议,接缝的使用有点奇怪操作系统从django的角度来看。在

有什么想法吗?在


Tags: 文件djangoinpyobjectpdfhtmlline
1条回答
网友
1楼 · 发布于 2024-09-29 19:20:46

我建议使用wkhtmltopdf。它是linux的静态二进制文件,因此您不应该遇到任何共享对象问题。wkhtmltopfd包装了webkit并支持javascript,您甚至可以告诉它在呈现之前运行JS代码的时间。我已经成功地用它制作了一些页面的pdf,这些页面上有一些复杂的图表生成代码。只需使用subprocess.call()启动它。在

相关问题 更多 >

    热门问题