在CentOS7上安装wkhtmltopdf

下载wkhtmltopdf的RPM软件包:

https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.centos7.x86_64.rpm

yum localinstall wkhtmltox-0.12.6-1.centos7.x86_64.rpm

查看版本

wkhtmltopdf --version

wkhtmltoimage --version

解决中文乱码问题:把C:\Windows\Fonts 的ttf字体 拷贝到服务器 /usr/share/fonts 中

通过wkhtmltopdf和wkhtmltoimage把网页截图成图片,解决定时任务无法调用wkhtmltoimage的问题_html

执行命令: wkhtmltoimage  --encoding utf-8 --crop-w 410 --width 410 --quality 50 http://xxx.xxx.com test.jpg

注意:wkhtmltoimage网页截图不支持网页数据ajax传输,不支持flex布局,截图效果跟网页布局稍有偏差需要自行调整。


解决linux 定时任务无法执行 wkhtmltoimage 命令的问题:

定时任务中 50 00 * * * wkhtmltoimage --encoding utf-8 http://xxx.com /目标路径/图片.jpg

以上写法定时任务是无法调用wkhtmltoimage该命令的。可以把wkhtmltoimage命令写在shell文件中。定时任务再通过执行shell文件完成截图操作:


#!/bin/bash
# test
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
wkhtmltoimage --encoding utf-8 http://xxx.com /目标路径/img/`date +"%Y%m%d"`/图片x.jpg

echo "----------------------------------------------------------------------------"
endDate=`date +"%Y-%m-%d %H:%M:%S"`
echo "★[$endDate] Successful"
echo "----------------------------------------------------------------------------"

定时任务:

通过wkhtmltopdf和wkhtmltoimage把网页截图成图片,解决定时任务无法调用wkhtmltoimage的问题_github_02