網頁快照

回覆文章
yehlu
Site Admin
文章: 3244
註冊時間: 2004-04-15 17:20:21
來自: CodeCharge Support Engineer

網頁快照

文章 yehlu »

http://www.neatstudio.com/show-1248-1.shtml

一直以来对于网页缩图,我都是想着用网上现成的工具来解决,网上也有很多网站提供类似服务,其实我也想做这样的功能,但PHP默认的功能只在windows下面才有,系统有一个默认的函数支持网页缩图的。
网上找了找资料,发现linux server下也可以达到这个效果。嗯,是利用xvfb模拟x server,然后利用cutycapt(一款利用qt框架开发的截屏程序)截图,可以存成PNG和JPG等多种格式的图片。

方法有点简单,我是说在ubuntu下面。直接:
XML/HTML代码

1. apt-get update
2. apt-get install xvfb
3. apt-get install subversion libqt4-webkit libqt4-dev g++
4. svn co https://cutycapt.svn.sourceforge.net/svnroot/cutycapt
5. cd cutycapt/CutyCapt
6. qmake
7. make

操作完后就可以调用命令行截图了。
XML/HTML代码

1. xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=http://www.zol.com.cn --out=test.png

截下来你会发现,图片中的中文是乱码,就象这张<<- 点击看大图
然后安装中文字体,最简单的办法就是从windows拷一些ttf的文字到/usr/share/fonts/truetype/目录下。
然后再截图就是现在这样了

参考:http://blog.saymoon.com/2009/11/take-sn ... mand-line/

PS:过段时间可以尝试考虑用接口+队列,生成相应的命令,然后用shell调用命令行。逐步运行,生成缩图,只是生成的缩图都较大,不敢自己做这样服务,硬盘估计很容易就会满了。

我在VPS上面无法运行xvfb,可能是虚拟机不支持x-server模拟?妖了。。。
回覆文章

回到「Linux」