我尝试在Django中将HTML转换为PDF文档,但没有成功。
我试过使用wkhtmltopdf 0.9.9,但是Apache抛出一个错误,wkhtmltopdf无法连接到服务器。当我直接使用wkhtmltopdf时,它运行得非常好,并将HTML转换为PDF文档。
我也试过使用unoconv,但是渲染的PDF文件没有任何CSS应用到它。我也试过使用xhtml 2 pdf。我再次面临同样的问题;呈现的PDF文件没有应用任何CSS样式。我花了今天和昨晚的大部分时间试图解决这个问题,但我仍然没有解决这个问题。
如果你需要更多的信息就告诉我
4条答案
按热度按时间093gszye1#
为Django配置Pisa应该不会太难。
网上有几个例子向你展示了如何做到这一点,并解释了如何在你的模板中链接到外部资源:
在你的情况下,你应该尝试第一篇博客文章中提到的link-callback-function:
对于较新的Django版本,您可能应该使用
STATIC_ROOT
而不是MEDIA_ROOT
然后在render-method中相应地使用
fetch resources
:23c0lvtd2#
我建议你使用比萨,pypdf和html5lib的组合,它为我工作。
qq24tv8q3#
一个可能的,但不是那么优雅的解决方案是运行一个小脚本,通过一个无头浏览器组件(Linux上的webkit/xvfb)呈现html,然后将其保存为pdf。
rjjhvcjd4#
您可以使用pyhtml2pdf模块将HTML页面转换为pdf
Source代码