IECapt is a small command-line utility to capture Internet Explorer's rendering of a web page into a BMP, JPEG or PNG image file. The C++ version also has experimental support for Enhanced Metafile vector graphic output. IECapt is available in a C++ and a C# version.
发布评论
评论(6)
这些工具安装都很麻烦啊,找到一个不错的应用,80K的程序,带界面也可命令行调用,我测试了下,windows版本,我测试了下 效果很好 上图
附件中的siteshoter.rar
我曾用过的第三方服务:URL2PNG - https://url2png.com/
无需开发,适用于任何Web开发语言,只需使用img标签按照api的标准方式嵌入即可。
在开发技术有限的情况下,可以快速上手。$10/mo的套餐,速度及稳定性都还OK。
鉴于 的问题中并未限定语言, 用Ruby on Rails的同学可以试一试 Paperclip - https://github.com/thoughtbot/paperclip ,Ruby >= 1.9.2, Rails >= 3.0 安装和使用在这个页面已经很详细。
P.S. 如若使用Ruby on Rails,同时想使用URL2PNG的服务,也可以通过这个Gem来集成api:http://rubygems.org/gems/url2png
得到网站快照(照片)动态展现的做法:
借助第三方软件:CutyCapt
用法:
Usage: CutyCapt --url=http://www.domain.com/ --out=/webroot/images/1.png
流程:
1.在页面输入URL,并用AJAX提交给PHP
2.PHP调用CutyCapt,生成快照,PHP直接Header出图片,或者返回图片的URL地址
3.AJAX加载快照图片地址,显示快照图片
原理:模拟浏览器对网页进行下载、HTML、css渲染、Javascript执行,并将最终渲染完成的网页进行快照,就跟你用浏览器打开URL,然后按屏幕打印一样。
Java的处理方法:
最直接的方式——使用Robot
最常规的方式——利用JNI,调用第三方C/C++组件
最扎实的方法——自行解析HTML标记,并将其图像化
具体的实现教程:如何以Java实现网页截图技术,根据URL得到网页快照
原理很简单
截获WEB的装载完成事件后,读取屏幕大小,剪切后保存成image
IECapt是个开源项目,支持c++和c#,可以参考一下
IECapt is a small command-line utility to capture Internet Explorer's rendering of a web page into a BMP, JPEG or PNG image file. The C++ version also has experimental support for Enhanced Metafile vector graphic output. IECapt is available in a C++ and a C# version.
http://lv9.googlecode.com/svn/example/java/src/net/dapper/scrender/examples/
这个实现我忘记是从哪里搞到的了 样例代码在RendererExample.java中
另外项目中需要引用
https://lv9.googlecode.com/svn/example/java/lib/
下的swt.jar swt-linux.jar swt-windows.jar