怎么利用嵌入的HTML渲染来生产网页的预览

http://www.pathf.com/blogs/2007/01/how_to_really_d/

How to REALLY do Page Preview in Java with Embedded HTML Rendering

 注意:这个帖子的抓屏是用JRex来产生的,而不是printscreen

我的一个读者说一个HOWTO文章应该保护一些实际的代码,而不只是空洞的说教。因此我决定修改一下以前关于页眉预览的文章。下面是我的一些经验,一些代码和一个zip文件以便你来尝试嵌入HTML渲染。

因此我尝试了我原文说的各种HTML渲染器,结果不尽如人意。
1,Flying Saucer https://xhtmlrenderer.dev.java.net/index.html 忘了它吧,这玩意只是除了html没别的,清理一些不匹配的html根本没用。
2,Cobra HTML Toolkit http://html.xamjwg.org/cobra.jsp 稍微好点,我用www.google.com去试没什么问题,但是有JavaScript CSS和 XHTML就容易出问题了
3,JRex http://jrex.mozdev.org/ 因为它是基于Mozilla的,所以对于任何网页都没问题。但是搞定它可不容易。最终的结果实现了我的目标——抓取渲染后的图像。但是有一些问题导致它不可靠而且很难缩放。

帖子接下来的内容是我使用JRex的经验。一些预备知识:首先,我在Windows XP下开发和应用了这个方法。在Linux下也是可能的。其次,代码有些难懂。这是我一直努力解决问题的结果。我希望有人一起来参与并把它提升到更高的水平。

Hello World with JRex
JRex的文档似乎缺少了什么,所以第一个挑战就是安装运行它。
http://jrex.mozdev.org/releases.html 下载没有log的二进制版本http://jrex.mozdev.org/releases/jrex-1.0b1_dom3/jrex-bin-nolog-1.0b1_dom3.ziphttp://jrex.mozdev.org/releases/jrex-1.0b1_dom3/jrex_gre.jar
把zip文件解压到c:/jrex 把jar文件解压到某个位置,在这里找的org/mozilla/jrex/jrex_gre.zip并把它解压到C:/jrex/jrex_gre。最后把c:/jrex里的jrex.dll移到C:/jrex/jrex_gre。
现在写个helloworld吧
package test;

import org.mozilla.jrex.JRexFactory;
import org.mozilla.jrex.ui.JRexCanvas;
import org.mozilla.jrex.window.JRexWindowManager;
import javax.swing.*;

public class JRexTest {
public static void main(String[] args) {
try {
JRexFactory.getInstance().startEngine();
} catch (Exception e) {
System.err.println("Unable to start up JRex Engine.");
e.printStackTrace();
System.exit(1);
}
JRexWindowManager winManager=(JRexWindowManager)
JRexFactory.getInstance().getImplInstance(JRexFactory.WINDOW_MANAGER);
winManager.create(JRexWindowManager.SINGLE_WINDOW_MODE);
JPanel inner = new JPanel();
JFrame frame = new JFrame();
frame.getContentPane().add(inner);
winManager.init(inner);
frame.setSize(640, 480);
frame.setVisible(true);
}
}

编译并运行(只能在JRE下运行,否则会少dll,编译时要把JRex.jar加进去)
********************注释*********************
我试过,确实如此
*********************************************
使用下面的命令运行它(把你的jre路径替换他的就可以了)
C:/Java/jdk1.5.0_08/jre/bin/java.exe -Djrex.gre.path=C:/jrex/jrex_gre text.JRexTest

Preview Webapp
****************************************
累了,以后再翻译吧。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值