在线网页截图实现技术

一直以来,就想做一个类似于websnaprSuper 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=... 参考链接:

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

参考链接:

这些程序配置安装好后,就可以用高级语言调用命令行[Java中采用Runtime.getRuntime().exec(command)],做一个在线网页截图的站点了。

yava /
in categories tagged with