对网页进行截图

        在项目中,偶尔需要把hightchart做的图导出来做成word,这个问题之前我是把hightchart生成图的svg传递到后台,通过svg生成图片把图片生成,最后把她放到word中做成导出的word,但是对于echart做的图我就有点无能为力了,今天没事,想到一个词就是如何截取web的截图,这个词百度查看发现通过phantomjs抓取指定网站的截图,这个倒是个好的方式,比起解析页面的内容这种要简单的多。不说了,直接上写的一个小例子,在windows下做的,说说过程首先从http://phantomjs.org/download.html下载指定的系统的工具把它放到一个目录下,下载下来,把它放到了一个目录下,我把它(phantomjs.exe)放到d盘,编写一个js(dome.js)去截图js代码如下:

     system = require('system')  
    address = system.args[1]; //获取传递进来的参数1
    var page = require('webpage').create();
    page.open(address, function () {
         page.render('example.png'); //保存为example.png
         phantom.exit();
   });

然后在java程序中执行dos命令:我采用了用一个bat批处理文件(dome.bat)来执行多条名称,内容如下:

 d:
phantomjs.exe dome.js %1
exit

其中%1表示dos执行批处理文件传递的第一个参数

    java执行批处理文件就搞定了。如下

   Runtime.getRuntime().exec("cmd /c start D:/dome.bat http://www.163.com/");
  这个就是截取http://www.163.com/ 的页面截图。
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值