python 中的 wkhtmltopdf 和 pdfkit 问题

python 中的 wkhtmltopdf 和 pdfkit 问题

你好,我正在 Linux 服务器中使用 python Flask 开发一个网络,为此我尝试使用pdfkitwkhtmltopdf

我正在使用Linux服务器(ubuntu)。

在 Putty 中,登录到我的服务器后,root@myname:~#pdfkit使用进行了下载apt-get,并下载了wkhtmltopdf.我通过输入python命令进入 python 。我正在尝试通过输入 python 将 url 转换为 pdf 文件;

import pdfkit

pdfkit.from_url('sample url','output.pdf') 

这里我收到一条错误消息:

IOError: wkhtmltopdf exited with non-zero code -6. error:
QXcbConnection: Could not connect to display.

什么地方出了错?安装有问题吗?或者哪一部分?

另外,如果工作正常,我在哪里可以找到输出文件?哪个目录?我用它WinSCP来管理文件。

答案1

我在类似的使用中遇到了同样的问题,这意味着您的计算机上没有任何可用的图形屏幕。

要解决此问题,请尝试安装并使用所写的xvfb软件包。wkhtmltopdfpdfkit

我们wkhtmltopdf可以通过开关选择自动选择可用屏幕-a,这样就解决了我的问题。您可以wkhtmltopdf从子进程调用,这样就可以了。

答案2

以下步骤应该适合您:

pip install pyvirtualdisplay

添加到您的代码:

from pyvirtualdisplay import Display
...
with Display():
    pdfkit.from_url('sample url','output.pdf') 

相关内容