360SDN.COM

首页/Java/列表

java显示一个网页的缩略图(java调用IECapt工具)

来源:  2015-12-14 21:04:15    评论:0点击:


网页截图首先是需要把html文件经过浏览器的渲染.

通过java调用外部的程序通过IE,firefox生成url的截图,然后进一步处理。

IE:
可以使用IECapt,运行以下命令即可

IECapt.exe http://www.163.com 163pic.png

firfox:
可以安装Pearl Crescent Page Saver扩展,然后在命令行里用

firefox -savepng http://www.163.com

对于linux还可以选择khtml2png,利用的是Konqueror的libkhtml

然后java通过调用外部命令的方式来调用这些外部可执行程序即可完成截图,并进一步处理.

IECapt生成网页快照帮助如下:

C:\>IECapt.exe help
 -----------------------------------------------------------------------------
 Usage: IECapt --url=http://www.example.org/ --out=localfile.png
 -----------------------------------------------------------------------------
  --help                      Print this help page and exit
  --url=<url>                 The URL to capture (http:...|file:...|...)
  --out=<path>                The target file (.png|bmp|jpeg|emf|...)
  --min-width=<int>           Minimal width for the image (default: 800)
  --max-wait=<ms>             Don't wait more than (default: 90000, inf: 0)
  --delay=<ms>                Wait after loading (e.g. for Flash; default: 0)
  --silent                    Whether to surpress some dialogs

 ----------------------------------------------------------------------------

 

CutyCapt下载地址:http://iecapt.sourceforge.net/IECapt-2008-04-27.zip

windows CutyCapt不需要安装,直接保存到你的电脑中即可。

然后你php代码如下写

<?php
/*
网页截图功能,必须安装IE+CutyCapt
url:要截图的网页
out:图片保存路径
path:CutyCapt路径
cmd:CutyCapt执行命令
比如:http://你php路径.php?url=http://www.php100.com
*/
$url=$_GET["url"];
$imgname=str_replace('http://','',$url);
$imgname=str_replace('https://','',$imgname);
$imgname=str_replace('.','-',$imgname);
$out = 'D:/webroot/test/'.$imgname.'.png';
$path = 'D:/webserver/CutyCapt.exe';
$cmd = "$path --url=$url --out=$out";
echo $cmd;
system($cmd);
?>
如果你是linux系统就需要简单的配置一下CutyCapt

为您推荐

友情链接 |九搜汽车网 |手机ok生活信息网|ok生活信息网|ok微生活
 Powered by www.360SDN.COM   京ICP备11022651号-4 © 2012-2016 版权