遇见
在 Ubuntu Server 的命令行执行python 命令 pdfkit 把HTML 转为PDF时异常:
IOError:
wkhtmltopdf exited with non-zero code -6. error:
QXcbConnection:
Could not connect to display
原因
问题原因不是很清楚,大概是因为没有界面显示,没有解析HTML的模块。总之少了某些依赖。
解决
安装xvfb,貌似是个可以模拟显示设备的库。
sudo apt-get install xvfb
运行xvfb服务, 为了避免显示设备冲突,指定一个编号,这里是 10
sudo Xvfb :
10 -ac
指定显示设备,和上面的编号一致
export DISPLAY=:
10
执行 pdfkit 代码。
后记
有可能还需要安装个浏览器 firefox, 我装了,但是感觉不需要。
sudo apt-get update
sudo apt-get install firefox
是参考这篇文章解决的,非常感谢: https://segmentfault.com/a/1190000000619224