我正在尝试使用wkhtmltopdf从HTML代码创建PDF。我使用过xhtml2pdf和pisa,但是我在使用CSS样式时遇到了问题。好吧,wkhtmltopdf是我的最后选择。
我已经按照这个步骤了。 https://github.com/incuna/django-wkhtmltopdf
sudo aptitude install libfontconfig
pip install django-wkhtmltopdf
Run Code Online (Sandbox Code Playgroud)
如果我在INSTALLED_APPS中添加“ wkhtmltopdf”,它将识别出wkhtmltopdf路径。
INSTALLED_APPS = ["wkhtmltopdf"]
Run Code Online (Sandbox Code Playgroud)
好吧,当我尝试生成PDF时会生成错误。
这是我的代码:
from wkhtmltopdf.views import PDFTemplateResponse
context = {
'linkedin1':self.linkedin1,
'twitter1':self.twitter1,
'facebook1':self.facebook1,
'current': get_current_base_url,
}
html_path = "app/folder/page1_1.html"
response = PDFTemplateResponse(request=request,
template=html_path,
filename="hello.pdf",
context= context,
show_content_in_browser=False,
cmd_options=settings.WKHTMLTOPDF_CMD_OPTIONS,
)
Run Code Online (Sandbox Code Playgroud)
在设置中:
WKHTMLTOPDF_CMD_OPTIONS = {
'quiet': True,
}
Run Code Online (Sandbox Code Playgroud)
我的错误:
File "/home/user/.virtualenvs/app/local/lib/python2.7/site- packages/django/core/handlers/base.py", line 136, in get_response
response = response.render()
File "/home/user/.virtualenvs/app/local/lib/python2.7/site-packages/django/template/response.py", line 104, in render
self._set_content(self.rendered_content)
File "/home/user/.virtualenvs/app/local/lib/python2.7/site- packages/wkhtmltopdf/views.py", line 144, in rendered_content
footer_filename=footer_filename)
File "/home/user/.virtualenvs/app/local/lib/python2.7/site-packages/wkhtmltopdf/views.py", line 103, …Run Code Online (Sandbox Code Playgroud)