在线网页截图实现技术
->
一直以来,就想做一个类似于websnapr和Super Screenshot这种提供网页截图服务的网站,今天对网页截图的关键技术进行了一些总结。
这里有篇文章:如何以Java实现网页截图技术,介绍了实现网页截图的三种方式,使用Robot类、Jni调用第三方C/C++组件和自行解析。这三种方式对于我而言都不太合适,我又找到了另外一种实现方式,调用命令行程序,主要是找一些命令行网页截图工具,下面是我找到的一些工具,各有优缺:
IECapt
IECapt可以将捕获网页,生成BMP、JPEG 或 PNG格式的图片,包含C++和C#两种版本,不足是依赖于Internet Explorer,这就决定了它只能在Windows下使用。
Usage: IECapt --url=http://www.hijava.org/ --out=localfile.png
参考链接: http://cutycapt.sourceforge.net/
CutyCapt
CutyCapt作为IECapt的兄弟,可以跨平台运行,生成的文件格式也多,SVG、PDF、 PS、 PNG、 JPEG,、TIFF,、GIF和BMP,CutyCap依赖于Qt。
Linux Shell下调用方式:
% xvfb-run --server-args="-screen 0, 1024x768x24" ./CutyCapt --url=... --out=...
参考链接:
- http://cutycapt.sourceforge.net/
- http://blog.saymoon.com/2009/11/take-snapshot-in-linux-command-line/
khtml2png
khtml2png是一种常用的命令行网页截图程序,不过需要安装庞大的KDE。
Usage: khtml2png --width 1024 --height 768 --scaled-width 320 --scaled-height 240 http://www.hijava.org/ hijava.png
参考链接: http://khtml2png.sourceforge.net/
QtWebKit
Usage: ./websnap www.hijava.org hijava.png
参考链接:
- http://labs.trolltech.com/blogs/2009/01/15/capturing-web-pages/
- http://labs.trolltech.com/blogs/2008/11/03/thumbnail-preview-of-web-page/
- http://www.blogs.uni-osnabrueck.de/rotapken/2008/12/03/create-screenshots-of-a-web-page-using-python-and-qtwebkit/
这些程序配置安装好后,就可以用高级语言调用命令行[Java中采用Runtime.getRuntime().exec(command)],做一个在线网页截图的站点了。
0qgw0c这么好的文章没人顶?
0gw0cs这么好的文章没人顶?
y4eu44这么好的文章没人顶?
qg2uk0这么好的文章没人顶?
eu4aq4明天你还会更新的吧 明天我在来
挺好。
衣服质量还行,不知道会不会起球,总体还行。。。
很不错的