0

我正在使用GWT Richtextbox,但是这个小部件显示的值是简单的文本或 HTML 格式。有没有办法在 GWT-Richtext 或 GWT-htmlEditor 小部件中显示 RTF 数据?或者其他 GWT 库中是否有一个小部件可以做到这一点?

4

3 回答 3

1

我不这么认为。大约一年前,我们想在客户端开发 rtf 浏览器,但我们失败了。没有 GWT-Rtf 库。您可以尝试找到用 javascript 编写的东西,然后用 JSNI 包装它,但我也没有见过这样的库。有人告诉我用 Activex 可能是可能的,但我们甚至没有尝试过这种方法。

于 2011-01-18T12:21:34.087 回答
0

你想达到什么目的?如果您想与诸如 Microsoft Word 之类的 RTF 编辑器共享文档,您应该检查该编辑器是否也可以使用 HTML。我知道 MS Word 可以编辑 HTML。

或者,您可以考虑将 RTF 转换为 HTML,然后在服务器端再次转换。有几个 Java 库可以做到这一点,我相信Flying Saucer就是其中之一。

于 2011-01-18T12:45:25.107 回答
0

您可以结合使用 RTFEditorKit 和 HTMLEditorKit 在两个服务器端或小程序中进行转换。这样您就可以使用 GWT 的富文本编辑器和输出或输入 RTF。

public static String getHtmlFromRtf(InputStream fi){
    Writer sOut = new StringWriter();
    DefaultStyledDocument doc = new DefaultStyledDocument();                  
    HTMLEditorKit htmlKit = new HTMLEditorKit();                  
    RTFEditorKit rtf = new RTFEditorKit();

    try
    {
        rtf.read( fi, doc, 0 );
        htmlKit.write(sOut, doc, 0, doc.getLength());
    }
    catch (IOException e)
    {
        e.printStackTrace();
    }
    catch (BadLocationException e)
    {
        e.printStackTrace();
    }
    return sOut.toString();
}
于 2011-01-19T01:45:23.747 回答