公司研发需求,在Centos下将页面快照成图片,通过谷歌查到cutycapt可以实现,进行了实验,效果还不错,整理下安装过程。
1.环境信息
系统:Centos6.6 x86_64
2.添加qt47的yum源
vim /etc/yum.repos.d/atrpms.repo添加如下内容
[atrpms] name=CentOS $releasever-$basearch-ATrpms baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms gpgcheck=1 enabled=1 [atrpms-testing] name=CentOS $releasever-$basearch-ATrpms testing baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/testing gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms gpgcheck=1 enabled=1
3. 安装qt47:
yum -y install qt47 qt47-devel qt47-webkitqt47-webkit-devel
4. 安装cutycapt
网上大多说用svn从https://cutycapt.svn.sourceforge.net/svnroot/cutycapt直接checkout下来,我试了几次都不成功,无奈,直接打开网站手动下载下来,上传到服务器,好在文件不多,只有3个文件:
CutyCapt.cpp、CutyCapt.hpp、CutyCapt.pro
mkdir /app/CutyCapt #将下载的文件上传到该目录 cd /app/CutyCapt/ qmake-qt47 make cp CutyCapt /usr/local/bin/cutycapt
3. 安装xvfb
CutyCapt需要X服务才能运行,如果不装X服务直接运行会报错:
cutycapt: cannot connect to X server :0
可以安装轻量级的X服务Xvfb来运行CutyCapt
yum -y install xorg-x11-server-Xvfb
4. 测试
通过以下命令来获取网页快照
xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=http://www.51cto.com --out=51cto.png
如果嫌命令太长,可通过alias来解决:
alias cutycapt=‘xvfb-run --server-args="-screen 0, 1024x768x24" cutycapt‘
这样就可以通过一下命令来获取快照:
cutycapt --url=http://www.51cto.com --out=51cto.png
5. 解决乱码问题
如果服务器上没有安装中文字体,获取的图片中会有乱码,可以安装中文字体解决,我是从windows下拷贝中文字体到服务器/usr/share/fonts/dejavu/目录下,然后也不会出现乱码。
本文出自 “分享是一种快乐” 博客,请务必保留此出处http://gladiator.blog.51cto.com/2313511/1658848
原文地址:http://gladiator.blog.51cto.com/2313511/1658848