现在的位置: 首页 > 综合 > 正文

JREX 的使用与下载 怎么利用嵌入的HTML渲染来生产网页的预览

2013年08月18日 ⁄ 综合 ⁄ 共 2101字 ⁄ 字号 评论关闭

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


418人阅读
评论(0)
收藏
举报

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.zip
http://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
****************************************

抱歉!评论已关闭.