如何以Java实现网页截图技术-.docxVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
如何以Java实现网页截图技术-

如何以Java实现网页截图技术 - 【Java究竟怎么玩?】 - CSDN博客您查询的关键词是:java网页截图。如果打开速度慢,可以尝试快速版;如果想保存快照,可以添加到搜藏;如果想更新或删除快照,可以投诉快照。(百度和网页/cping1982/archive/2010/03/06/5353049.aspx的作者无关,不对其内容负责。百度快照谨为网络故障时之索引,不代表被有哪些信誉好的足球投注网站网站的即时页面。)【Java究竟怎么玩?】思考因为存在,存在所以思考目录视图摘要视图订阅公告:CSDN博客积分系统正式上线!如何以Java实现网页截图技术分类: JAVA应用技术文章 2010-03-06 23:40 5452人阅读评论(63) 收藏举报今天看到某网友关于“如何以Java实现网页截图技术”的咨询帖,由于出现该咨询的地点非常不适合较长回复,故以博文形式回答。事实上,如果您想以Java实现网页截图,也就是“输入一段网址,几秒钟过后就能截取一张网页缩略图”的效果。那么,您至少有3种方式可以选择。1、最直接的方式——使用Robot 方法详解:该方法利用Robat提供的强大桌面操作能力,硬性调用浏览器打开指定网页,并将网页信息保存到本地。优势:简单易用,不需要任何第三方插件。缺点:不能同时处理大量数据,技术含量过低,属于应急型技巧。实现方法:使用如下代码即可。public static void main(String[] args) throws MalformedURLException,IOException, URISyntaxException, AWTException {//此方法仅适用于JdK1.6及以上版本Desktop.getDesktop().browse(new URL(/intl/en/).toURI());Robot robot = new Robot();robot.delay(10000);Dimension d = new Dimension(Toolkit.getDefaultToolkit().getScreenSize());int width = (int) d.getWidth();int height = (int) d.getHeight();//最大化浏览器robot.keyRelease(KeyEvent.VK_F11);robot.delay(2000);Image image = robot.createScreenCapture(new Rectangle(0, 0, width,height));BufferedImage bi = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);Graphics g = bi.createGraphics();g.drawImage(image, 0, 0, width, height, null);//保存图片ImageIO.write(bi, jpg, new File(google.jpg));}2、最常规的方式——利用JNI,调用第三方C/C++组件方法详解:目前来讲,Java领域对于网页截图组件的开发明显不足(商机?),当您需要完成此种操作时,算得上碰到了Java的软肋。但是,众所周知Java也拥有强大的JNI能力,可以轻易将C/C++开发的同类组件引为己用。优势:实现简单,只需要封装对应的DLL文件,就可以让Java实现同类功能。劣势:同其他JNI实现一样,在跨平台时存在隐患,而且您的程序将不再属于纯Java应用。实现方法:可参见此用例,具体封装何种C/C++组件请自行选择。PS:示例来源于ACA HTML to Image Converter项目(/en/web-thumb-activex/faq-convert-html-to-image-in-java.htm ),这是一个收费的HTML转Image第三方组件,但封装方式在Java中大同小异。引用JNI封装:import sun.awt.*;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.awt.*;import java.awt.peer.*;public class Snap{ static { System.loadLibrary(Snap); } public static void main( String[] argv ) { Snap t_xSnap = new Snap(); t_xSnap.Start(, snapshot-google.png); } public

文档评论(0)

178****9325 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档