【问题标题】:Conversion of HTML to PDF using wkhtmltopdf failed使用 wkhtmltopdf 将 HTML 转换为 PDF 失败
【发布时间】:2020-12-10 09:59:00
【问题描述】:

我运行的设置:

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

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

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 的替代方法的想法吗?

【问题讨论】:

标签: python wkhtmltopdf


【解决方案1】:

经过大量试验和错误,这是我添加到我的 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 1970-01-01
    • 2013-03-19
    • 2017-12-24
    相关资源
    最近更新 更多