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

今天看到某网友关于“如何以Java实现网页截图技术”的咨询帖,由于出现该咨询的地点非常不适合较长回复,故以博文形式回答。

事实上,如果您想以Java实现网页截图,也就是“输入一段网址,几秒钟过后就能截取一张网页缩略图”的效果。那么,您至少有3种方式可以选择。

1、最直接的方式——使用Robot

方法详解:该方法利用Robat提供的强大桌面操作能力,硬性调用浏览器打开指定网页,并将网页信息保存到本地。

优势:简单易用,不需要任何第三方插件。

缺点:不能同时处理大量数据,技术含量过低,属于应急型技巧。

实现方法:使用如下代码即可。

view plain
copy to clipboard
print
?
public
static
void
main(String[] args)
throws
MalformedURLException,
IOException, URISyntaxException, AWTException {
//此方法仅适用于JdK1.6及以上版本
Desktop.getDesktop().browse(
new
URL(
"http://google.com/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,
hei

相关文档:

一, package,import引入原因:

package:

我们都熟悉超市,超市虽然庞大,东西繁多,却管理的井井有条,很容易找到某样东东;,之所以能如此,一个重要的原因就是采用了分类放置,既方便了管理,又方便了寻找

Package也是一个分类放置东东的区域,不过它放的不是商品而是java中的类。Java中有各种各样的类,

内容丰 ......

1. super代表父类?代表父类的对象?还是代表父类的引用?为什么super()在构造方法,super.fun()在方法能用?个人认为应该是super表示对象才能这么调用,可父类对象没被new 而如果是表示父类的话,那fun()应该是static方法啊?迷茫~~ 有些东西可以称为定义,不要钻牛角尖 super();表示调用父类的构造方法,只是调用方法, ......

import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import javax.imageio.ImageIO;
import java.io.File;
public class captureScreen{
public captureScreen(String fileName) throws Exception
{
......

为了把学到知识总结起来,特开此文。主要是把每天学到的东西加以记录,不至于变成大狗熊。

20100310

今天在论坛看人发了两道java题,不错,把问题和答案都加进来,以便以后参考。

问题:

要求实现方法里面的代码:

1. function1()

返回相同闊度數字型字串. 例:

function1(“000000 ......