利用xvfb 和 wkhtmltoimage 将HTML 转换成图片

注意当前系统环境为腾讯云镜像centos 7.4

xvfb

解释:Xvfb(X Virtual Frame Buffer)是基于X Window的虚拟服务器,可以在没有物理显卡图形界面和人机交互界面的情况下,运行X Window相关应用程序。它模拟了一个完整的X Window系统,包括显示和输入设备,但一切都是在内存中进行处理,没有显示器和键盘。这使得测试和调试GUI应用程序变得更加容易和自动化。

安装:

wget http://vault.centos.org/6.2/os/x86_64/Packages/xorg-x11-server-Xvfb-1.10.4-6.el6.x86_64.rpm
yum localinstall xorg-x11-server-Xvfb-1.10.4-6.el6.x86_64.rpm
yum install xorg-x11-server-Xvfb

wkhtmltoimage

解释:

安装:

wget http://wkhtmltopdf.googlecode.com/files/wkhtmltoimage-0.10.0_rc2-static-amd64.tar.bz2
sudo yum install wkhtmltopdf
sudo yum install wkhtmltoimage

运行

xvfb-run --server-args="-screen 0, 1024x768x24" /usr/bin/wkhtmltoimage --width 375 --height 768 --quality 50 --encoding utf-8  http://www.baidu.com  test.png

遇到问题

  • 显示 can't connect X client

    需要安装 xvfb,以及以xvfb去运行wkhtmltoimage
  • 英文正常,中文显示空白或者乱码方框

    安装字体,将windows上字体上传到服务器上,建立文字索引,具体查看[Linux上安装wkhtmltox相关问题]
    cd /root/
    cp MSYH.TTF /usr/share/fonts/
    cd /usr/share/fonts/
    mkfontscale
    mkfontdir
    fc-cache
    现在我们再来查看微软雅黑字体,是否安装成功,使用如下命令:
    fc-list :lang=zh
    ​
    或者
    rpm -ivh wkhtmltox-0.12.2.1_linux-centos6-amd64.rpm --nodeps --force

感谢相关作者以及资源

如有侵权请私信我,我会第一时间删除,感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值