你好,我正在 Linux 服务器中使用 python Flask 开发一个网络,为此我尝试使用pdfkit
和wkhtmltopdf
。
我正在使用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
软件包。wkhtmltopdf
pdfkit
我们wkhtmltopdf
可以通过开关选择自动选择可用屏幕-a
,这样就解决了我的问题。您可以wkhtmltopdf
从子进程调用,这样就可以了。
答案2
以下步骤应该适合您:
pip install pyvirtualdisplay
添加到您的代码:
from pyvirtualdisplay import Display
...
with Display():
pdfkit.from_url('sample url','output.pdf')