使用wkhtmltopdf将HTML转换为PDF失败

r0f1

对于设置,我运行了:

sudo apt-get install wkhtmltopdf
pip install pdfkit==0.6.1

现在,我正在尝试在云中的VM上运行以下代码:

import pdfkit
pdfkit.from_file("foo.html", "foo.pdf", options={"javascript-delay": 10000})

javascript-delay参数是必需的,因为否则某些部分将无法正确呈现。此命令在我的本地计算机上运行良好,但是在云中,我收到以下错误消息:

wkhtmltopdf exited with non-zero code 1. error:
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
qt.qpa.screen: QXcbConnection: Could not connect to display
Could not connect to any X display.

任何想法如何解决此错误,或者有关将.html转换为.pdf的替代方法的想法?

r0f1

经过大量的试验和错误,这是我添加到Dockerfile中以使其工作的内容:

RUN apt-get update && apt-get install -yq gdebi

RUN TEMP_DEB="$(mktemp).deb" \
  && wget -O "$TEMP_DEB" 'https://github.com/wkhtmltopdf/packaging/releases/download/0.12.1.4-2/wkhtmltox_0.12.1.4-2.bionic_amd64.deb' \
  && sudo apt install -yqf "$TEMP_DEB" \
  && rm -f "$TEMP_DEB"

因此,基本上先安装gdebi然后再安装其他版本的wkhtmltox

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章