无法在无头服务器上使用 wkhtmltopdf 生成 PDF
Unable to generate PDF with wkhtmltopdf on a headless server
我有一个 HTML 文档,它使用 CSS 文件和大约一打由 matplotlib
生成的 PNG 文件。为了将此 HTML 文档转换为 PDF,我按照 here 所述的方式在 AWS EC2 Linux 实例上安装了 wkhtmltopdf
。
在命令行上,这有效
wkhtmltopdf http://www.google.com output.pdf
但是,以下 Python 代码段不起作用。
reportCss = pathlib.Path(os.path.join(cssDir, 'report.css'))
w3Css = pathlib.Path(os.path.join(cssDir, 'w3.css'))
#
options = {
'page-size': 'A4',
'dpi': 720,
'margin-bottom': 5
}
css = [str(reportCss), str(w3Css)]
pdfkit.from_file(htmlFilePath, pdfFilePath, options=options, css=css)
我收到这个错误:
QPainter::begin(): Returned false
Traceback (most recent call last):
File "dailyemail.py", line 55, in <module>
main()
File "dailyemail.py", line 44, in main
pdfFileName = pdfgen.buildPdfDoc()
File "/home/ubuntu/demo/py/pdfgen.py", line 58, in buildPdfDoc
pdfkit.from_file(htmlFilePath, pdfFilePath, options=options, css=css)
File "/home/ubuntu/.local/lib/python2.7/site-packages/pdfkit/api.py", line 49, in from_file
return r.to_pdf(output_path)
File "/home/ubuntu/.local/lib/python2.7/site-packages/pdfkit/pdfkit.py", line 181, in to_pdf
'%s ' %(' '.join(args)),e)
TypeError: not enough arguments for format string
你能告诉我我遗漏了什么吗?
原来 PDF 文件夹不存在。错误消息是中间领先的。
我有一个 HTML 文档,它使用 CSS 文件和大约一打由 matplotlib
生成的 PNG 文件。为了将此 HTML 文档转换为 PDF,我按照 here 所述的方式在 AWS EC2 Linux 实例上安装了 wkhtmltopdf
。
在命令行上,这有效
wkhtmltopdf http://www.google.com output.pdf
但是,以下 Python 代码段不起作用。
reportCss = pathlib.Path(os.path.join(cssDir, 'report.css'))
w3Css = pathlib.Path(os.path.join(cssDir, 'w3.css'))
#
options = {
'page-size': 'A4',
'dpi': 720,
'margin-bottom': 5
}
css = [str(reportCss), str(w3Css)]
pdfkit.from_file(htmlFilePath, pdfFilePath, options=options, css=css)
我收到这个错误:
QPainter::begin(): Returned false
Traceback (most recent call last):
File "dailyemail.py", line 55, in <module>
main()
File "dailyemail.py", line 44, in main
pdfFileName = pdfgen.buildPdfDoc()
File "/home/ubuntu/demo/py/pdfgen.py", line 58, in buildPdfDoc
pdfkit.from_file(htmlFilePath, pdfFilePath, options=options, css=css)
File "/home/ubuntu/.local/lib/python2.7/site-packages/pdfkit/api.py", line 49, in from_file
return r.to_pdf(output_path)
File "/home/ubuntu/.local/lib/python2.7/site-packages/pdfkit/pdfkit.py", line 181, in to_pdf
'%s ' %(' '.join(args)),e)
TypeError: not enough arguments for format string
你能告诉我我遗漏了什么吗?
原来 PDF 文件夹不存在。错误消息是中间领先的。