cutycapt(php截图工具)
admin
2023-06-25 11:22:27
0次

1. 安装cutycapt依赖包:

yum -y install lrzsz vim patch make gcc gcc-c++ libtool openssl openssl-devel libxml2* libxslt* popt popt-devel libXpm libXpm-devel curl-devel openldap openldap-devel m4 autoconf ncurses-devel libXi-devel libXinerama-devel libmng* libGLU-devel libICE-devel libSM-devel libXcursor-devel libXext-devel libXfixes-devel libXft-devel libXrandr-devel libXrender-devel libXt-devel libpng-devel  libqt4-webkit libqt4-dev g++ -y


yum install svn  注: 如果系统环境已经安装svn则不用yum安装 否则使用svn时会报错, 如果没有svn 可以直接装上

2. 下载相关软件包

cd /usr/local/webserver

wget http://dl.atrpms.net/el5-x86_64/atrpms/testing/qt44-4.4.3-10_4.el5.x86_64.rpm

wget http://dl.atrpms.net/el5-x86_64/atrpms/testing/qt44-x11-4.4.3-10_4.el5.x86_64.rpm

wget http://dl.atrpms.net/el5-x86_64/atrpms/testing/qt44-devel-4.4.3-10_4.el5.x86_64.rpm


3.安装: 

cd /usr/local/webserver 


rpm -ivh qt44-4.4.3-10*

rpm -ivh qt44-x11-4.4.3-10_4.el5.x86_64.rpm 

rpm -e qt-devel --nodeps --allmatches

rpm -ivh qt44-devel-4.4.3-10*

 



4. 修改环境变量

export QTDIR=/usr/lib64/qt44

export QTLIB=/usr/lib64/qt44/lib

export QTINC=/usr/lib64/qt44/include 

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH     注意这个位置 不要替换以前的  只是添加

export PATH=$QTDIR/bin:$PATH:$HOME/bin                 同上


5. 下载cutycapt

svn co svn://svn.code.sf.net/p/cutycapt/code/ cutycapt

mv cutycapt/CutyCapt /usr/local/webserver/CutyCapt

rm -rf cutycapt

cd /usr/local/webserver/CutyCapt

qmake

make


6. 安装模拟 x-server 服务端

cd /usr/local/webserver

wget http://www.flexthinker.com/wp-content/uploads/2009/11/xvfb-run.sh.txt 

mv ./xvfb-run.sh.txt /usr/local/webserver/CutyCapt/xvfb-run.sh 

chmod +x /usr/local/webserver/CutyCapt/xvfb-run.sh



6. 添加中文字体

将windows 下的 C:\WINDOWS\Fonts 中的simsun.ttc  复制到linux上 具体过程如下

 1. mkdir -p /usr/share/fonts/chinese/windows

 2. chmod -R 755 /usr/share/fonts/chinese/windows

 3. 将windows下的 simsun.ttc  添加到 /usr/share/fonts/chinese/windows 下   (rz命令)

 4. cd /usr/share/fonts/chinese/windows

 5. ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir

 6. vim /etc/fonts/fonts.conf  添加一行    /usr/share/fonts/chinese/windows

  24

    25 

    26        

/usr/share/fonts

    27        

/usr/share/X11/fonts/Type1 /usr/share/X11/fonts/OTF

    28        

/usr/share/fonts/chinese/windows          添加此行,注意标签         

    29        

~/.fonts

    30 

 7. /etc/init.d/xfs restart

 8.fc-list :lang=zh-cn  查看字体有没有添加成功

   NSimSun,新宋体:style=Regular

   SimSun,宋体:style=Regular 

   

   

   

7. 执行截图命令:

 /usr/local/webserver/CutyCapt/xvfb-run.sh --server-args="-screen 0, 1024x768x24" /usr/local/webserver/CutyCapt/CutyCapt --url=http://www.baidu.com --out=baidu.jpg  

 

 

参考网址:

http://blog.sina.com.cn/s/blog_a5952cca010165cj.html

http://blog.chinaunix.net/uid-21374062-id-2983850.html

http://cutycapt.sourceforge.net/    

http://blog.csdn.net/kindy1022/article/details/7623940






如果安装报错 可参考下面文档:


1. 安装 qt  qtwebkit


默认yum的是qt3及qt4.2 不带qtwebkit的,想用qtwebkit要装更高的版本,就需要重新更改yum配置

导入 ATrpms’ signing key(导入Key),执行

# rpm --import http://packages.atrpms.net/RPM-GPG-KEY.atrpms


旧版本rpm不能导入

可以用

# wget http://packages.atrpms.net/RPM-GPG-KEY.atrpms

# rpm --import RPM-GPG-KEY.atrpms

备份原来的源

# cp /etc/yum.conf /etc/yum.conf.bak


修改yum.conf

# vi /etc/yum.conf 

如果要装qtwebkit要装更高的版本 的在下面加上

#########################################

[atrpms]

name=Fedora Core $releasever - $basearch - ATrpms

baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable

gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms

gpgcheck=1


=====================================================================================

如果要装qt-47 的,改成以下, 进行网页截图的话 就改成一下这样

##########################################

[atrpms]

name=Fedora Core $releasever - $basearch - ATrpms

baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/testing

gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms

gpgcheck=1


# :wq保存退出


# yum list | grep qt47

可以发现atrpms里面有qt47了


安装

# yum install qt47 qt47-webkit qt47-webkit-devel qt47-x11 qt47-sqlite


安装gcc-c++

# yum install gcc-c++


环境变量配置

修改 /etc/profile

# vi /etc/profile

加入

export QTDIR=/usr/lib64/qt47

##export QTLIB=/usr/lib64/qt47/lib  在真实实验中,没有发现/lib 和 /include包,所以也就不需要配置了

##export QTINC=/usr/lib64/qt47/include

##export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

export PATH=$QTDIR/bin:$PATH

保存退出后,运行一次该文件

#source /etc/profile

输入qmake有显示成功配置qt


2. 安装 cutycapt


# svn co https://cutycapt.svn.sourceforge.net/svnroot/cutycapt

# mv cutycapt/CutyCapt /usr/local/CutyCapt

# cd /usr/local/CutyCapt

# qmake

# make

出现以下错误 

/usr/lib64/qt47/libQtWebKit.so: undefined reference to `sqlite3_prepare16_v2'

/usr/lib64/qt47/libQtWebKit.so: undefined reference to `sqlite3_column_value'

collect2: ld returned 1 exit status

make: *** [CutyCapt] Error 1


解决:

#yum update sqlite


再次执行

# make

以下表示make成功

[root@localhost CutyCapt]# make

g++ -Wl,-O1 -o CutyCapt CutyCapt.o moc_CutyCapt.o    -L/usr/lib64/qt47 -lQtWebKit -lQtSvg -L/usr/lib64/qt47 -lQtGui -lQtNetwork -lQtCore -lpthread 


如出现

/usr/local/CutyCapt/CutyCapt: /usr/local/lib/libpng12.so.0: no version information available (required by /usr/lib64/qt47/libQtGui.so.4)

解决方法

cd /usr/local/lib

sudo mv libpng12.so.0 libpng12.so.0.backup

sudo ln -sf /usr/lib/libpng12.so.0 libpng12.so.0

这样就OK了.


3. 安装模拟 x-server 服务端


wget http://www.flexthinker.com/wp-content/uploads/2009/11/xvfb-run.sh.txt

mv ./xvfb-run.sh.txt /usr/local/CutyCapt/xvfb-run.sh

chmod u+x /usr/local/CutyCapt/xvfb-run.sh


4. 开始欢快的截图吧


/usr/local/CutyCapt/xvfb-run.sh --server-args="-screen 0, 1024x768x24" /usr/local/CutyCapt/CutyCapt --url=http://www.163.com --out=163.jpg

或执行

xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=https://cache.yisu.com/upload/information/20200310/52/109393.jpg --body-string=utf-8


出现-bash: xvfb-run: command not found 或  xauth : command not found

安装

# yum install Xorg Xvfb xauth xorg-x11-fonts*

等一会见到生成了localfile1.png表示成功了


5. 如果看不到汉字或乱码,需要安装chinese字体


# yum install fonts-chinese


6. 由于截屏的是整个网站的页面,只需要第一屏幕


convert -crop 1024x768+0+0 163.jpg 1632.jpg


7 . 缩小图片


convert -resize 40%x40% 1632.jpg 1632.jpg


参考URL:

http://leyewen.blog.163.com/blog/static/25060614201212324052743/

http://blog.163.com/bqj123@126/blog/static/28351334201091955030355/

http://www.2cto.com/os/201203/122079.html

http://www.2cto.com/os/201203/122079.html


上一篇:301跳转 PHP

下一篇:Yii 中使用分页

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...