我正在使用wkhtmltopdf将html转换为pdf。 但是我收到了一个错误
raise IOError("wkhtmltopdf exited with non-zero code {0}. error:\n{1}".format(exit_code, stderr.decode("utf-8")))
IOError: wkhtmltopdf exited with non-zero code 1. error:
xvfb-run: error: Xvfb failed to start
我的代码是:
f = open('cover_page.html', 'w')
cap_type = indi_user.cap_type
message = """<html>
<head></head>
<body><h1 style="font-size:150px;margin-top: 450px;">%s</h1></body>
</html>""" % (cap_type.encode('utf-8').strip())
f.write(message)
f.close()
pdfkit.from_url('cover_page.html', 'cover_page.pdf')
os.remove("cover_page.html")
final_pdf_list.insert(0, 'cover_page.pdf')
to_be_removed.append("cover_page.pdf")
pypdftk.concat(final_pdf_list, str(destination))
我不知道我在那里做错了什么。
我尝试了一切,但仍然坚持同样的错误。
答案 0 :(得分:1)
你安装了XVFB吗?如果不是,您应该由包管理器安装它,例如apt-get install xvfb
。否则,请通过/tmp/xvfb-error.log文件获取特定的xvfb错误消息。
答案 1 :(得分:0)
wkhtmltopdf在X图形服务器的帮助下工作。 如果我们想在服务器中使用它,那么它将成为一个问题,这意味着它将无法工作。 为了使它在服务器中工作,我们需要安装一个X服务器(xvfb)。
sudo apt-get install xvfb
参考:https://learnbatta.com/blog/django-html-to-pdf-using-pdfkit-and-wkhtmltopdf-5/