centos 环境正确配置 wkhtmltopdf:cannot connect to X server

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos 环境正确配置 wkhtmltopdf:cannot connect to X server相关的知识,希望对你有一定的参考价值。

参考技术A 参考链接:
https://github.com/JazzCore/python-pdfkit/wiki/Using-wkhtmltopdf-without-X-server

1、安装

2、安装之后,执行操作,若提示“wkhtmltopdf: cannot connect to X server”错误 (如果3,4,5已经完成直接执行 6)

3、需再安装xvfb

4、在 /usr/bin/ 目录下生成脚本 wkhtmltopdf.sh 并写入命令

5、更改文件权限并建立连接

6、启动 'virtual' X server (最终解决问题)

HTML 转PDF----wkhtmltopdf

HTML 转PDF----wkhtmltopdf

下载wkhtmltopdf

https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf

# 环境:CentOS 7.6
yum install wkhtmltopdf
which wkhtmltopdf

进入目录,创建个简单的html文件

cd /opt
vi index.html
# 在 index.html中写入如下内容,保存
<h1>hello world!</h1>

运行,将html转换为pdf

/usr/bin/wkhtmltopdf index.html index.pdf

报如下错误:

wkhtmltopdf: cannot connect to X server

缺少依赖包Xvfb,安装即可

yum install Xvfb

再次运行命令:/usr/bin/wkhtmltopdf index.html index.pdf,运行成功

Python脚本中直接可以使用subprocess模块运行cmd命令即可。

import subprocess
_cmd = "/usr/bin/wkhtmltopdf index.html index.pdf"
popen = subprocess.Popen(_cmd,
                         shell=True,
                         cwd=file_dir,
                         stdout=subprocess.PIPE,
                         stdin=subprocess.PIPE,
                         stderr=subprocess.PIPE)

以上是关于centos 环境正确配置 wkhtmltopdf:cannot connect to X server的主要内容,如果未能解决你的问题,请参考以下文章

HTML 转PDF----wkhtmltopdf

HTML 转PDF----wkhtmltopdf

为啥 php 不能正确检测到 pdf mime 类型(wkhtmltopdf)?

如何在centos中使用wkhtmltopdf

如何在 debian 64 位上正确安装 wkhtmltopdf?

sh 在CentOS 6.x和7.x上安装wkhtmltopdf 0.12.4