使用java将网页转换为jpeg图像

rav*_*avi 5 java jpeg image-capture webpage-screenshot

我正在使用Java构建一个Web应用程序,如果我将网页的URL作为输入,我需要网页的整个屏幕截图.

我的基本想法是捕获渲染组件的显示缓冲区..我不知道如何做它.. plz帮助..

Osc*_*Ryz 3

我在这个应用程序中使用了一个小技巧:

倒计时演示应用程序 http://img580.imageshack.us/img580/742/capturadepantalla201004wd.png 以 blog.stackoverflow.com 页面为特色的 Java 应用程序(单击图像观看演示视频)

问题是你需要有一台专门用于此的机器。

所以,这个技巧很简单。

  • 创建一个应用程序,将要获取的 URL 作为参数。

  • 然后打开它,Desktop.open( url ) 这将触发当前的网络浏览器。

  • 最后用java.awt.Robot截屏并保存到diks。

就像是:

 class WebScreenShot {
     public static void main( String [] args ) {
         Desktop.getDesktop().open( args[0] );
         Robot robot = new Robot();
         Image image = robot.createScreenCapture( getScreenResolutionSize() );
         saveToDisk( image );
     }
  }
Run Code Online (Sandbox Code Playgroud)

这个解决方案远非完美,因为它需要整个操作系统,但如果你可以有一个专门用于这个应用程序的虚拟机,你就可以很容易地抓取网络并截取它的屏幕截图。

将此应用程序作为非侵入式应用程序的问题是,到目前为止,还没有一个好的 Java html 引擎渲染器。