使用wkhtmltopdf/image把HTML页面转换成PDF/image文件
2020/05/18 16:03
教程
我能想到的使用场景主要是生成网站的缩略图,至于生成PDF,我暂时没这个需求,我主要用的是其中的wkhtmltoimage工具。测试的环境是centos7 64位
安装
1、下载最新安装包并安装 https://wkhtmltopdf.org/downloads.html
centos
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.centos7.x86_64.rpm rpm -ivh wkhtmltox-0.12.6-1.centos7.x86_64.rpm
Debian/Ubuntu
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb dpkg -i ./wkhtmltox_0.12.6.1-2.jammy_amd64.deb
安装过程中如果提示缺依赖,缺什么装什么
2、安装完成就可以使用了
/usr/local/bin/wkhtmltoimage --quality 88 https://baidu.com screen.png
这是最简单的一种,可以自己加参数控制图片的宽度和高度等
中文字符问题
最开始用的时候中文字符显示为了方块,这是因为缺少中文字体。
可以将windows系统中simsun.ttc,simsun.ttf的复制到 /usr/share/fonts/chinese 目录
chinese目录要自己建,字体懒得去翻文件夹的可以直接下载
建立字体缓存
mkfontscale mkfontdir fc-cache -fv
这时再试一下,问题应该已经解决了。
异步加载的网页截屏
现在有不少网站使用了异步加载的技术,使用上面的命令去截屏可以不完整,需要加上适当的延迟,以便截取的页面展示完整
/usr/local/bin/wkhtmltoimage --javascript-delay 5000 --quality 88 https://baidu.com screen.png
留言评论