确认linux操作系统的版本及位数 选择对于的版本
cat /etc/redhat-release # 查看系统的版本 getconf LONG_BIT #查看系统是多少位
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sWT7eI63-1626070829250)(./img/QQ图片20210712130200.png)]
测试环境为 CentOS7.5 64位 选择对于的版本,可以通过rpm或 0.12.4 之前的提供压缩包方式安装
由于我的操作系统是 CentOS Linux release 7.5.1804 (Core) 所以选择图中红框的位置
rpm版本选择[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3MYESt7j-1626070829254)(./img/QQ图片20210712130659.png)]
压缩包选择
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FOotfrLg-1626070829258)(./img/QQ图片20210712131554.png)]
下载资源
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.centos7.x86_64.rpm
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5KWzbLwZ-1626070829260)(./img/QQ图片20210712131853.png)]
安装
rpm -ivh wkhtmltox-0.12.6-1.centos7.x86_64.rpm
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ikGBKM7p-1626070829264)(./img/QQ图片20210712132509.png)]
error: Failed dependencies: fontconfig is needed by wkhtmltox-1:0.12.6-1.centos7.x86_64 libX11 is needed by wkhtmltox-1:0.12.6-1.centos7.x86_64 libXext is needed by wkhtmltox-1:0.12.6-1.centos7.x86_64 libXrender is needed by wkhtmltox-1:0.12.6-1.centos7.x86_64 libjpeg is needed by wkhtmltox-1:0.12.6-1.centos7.x86_64 libpng is needed by wkhtmltox-1:0.12.6-1.centos7.x86_64 xorg-x11-fonts-75dpi is needed by wkhtmltox-1:0.12.6-1.centos7.x86_64 xorg-x11-fonts-Type1 is needed by wkhtmltox-1:0.12.6-1.centos7.x86_64
yum install libX11 libXext libXrender libjpeg libpng xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 -y
确认是否安装成功
rpm -q wkhtmltox
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QV8HQnwQ-1626070829267)(./img/QQ图片20210712132640.png)]
运行测试
wkhtmltopdf https://www.baidu.com baidu.pdf { 要生成图片的的网址(例:https://www.baidu.com)baidu.pdf是生成的图片格式} wkhtmltopdf --grayscale --disable-smart-shrinking --header-html head.html www.baidu.com baidu.pdf [ 1 ][ 2 ] [ 3 ] [ 4 ] [ 5 ] 从左到右依次是:1命令开始、2使用灰度模式、3禁止智能缩放、4设置页眉为html文件、5生成pdf的页面网址、5生成的pdf文件名称。
下载
wget -c https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.4/wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F0VhuyjK-1626070829269)(./img/QQ图片20210712135824.png)]
解压
tar xvf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nO465dnZ-1626070829271)(./img/QQ图片20210712140343.png)]
把解压的文件wkhtmltox/bin/wkhtmltoimgage
和wkhtmltox/bin/wkhtmltopdf
移动到/usr/bin
目录中,并设置权限
cd wkhtmltox/bin mv wkhtmltoimage /usr/bin/wkhtmltoimage mv wkhtmltoimage /usr/bin/wkhtmltoimage chmod +x /usr/bin/wkhtmltoimage chmod +x /usr/bin/wkhtmltopdf
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bb0qjyeE-1626070829273)(./img/QQ图片20210712140904.png)]
执行wkhtmltopdf 报错时
wkhtmltopdf: error while loading shared libraries: libXrender.so.1: cannot open shared object file: No such file or directory
可以执行以下
yum install libX11 libXext libXrender libjpeg libpng xorg-x11-fonts-75dpi xorg-x11-fonts-Type1 -y
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xePx4Yy3-1626070829276)(./img/QQ图片20210712134755.png)]
如果中文不显示,则将 windows下的字体,例如simsun.ttc ,或者msyh.ttf,或者msyhbd.ttf 复制到 linux系统 /usr/share/fonts 下。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-14c2C3Ev-1626070829277)(./img/QQ图片20210712134115.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eXdPgjCB-1626070829280)(./img/QQ图片20210712134339.png)]
上传字体后,执行生成PDF
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HT6H6mPd-1626070829281)(./img/QQ图片20210712135040.png)]