我正在使用GWT Richtextbox,但此小部件显示的是简单文本或HTML格式的值。 有没有办法在GWT-Richtext或GWT-htmlEditor小部件中显示RTF数据?或者其他GWT库中是否有一个小部件可以执行此操作?
答案 0 :(得分:1)
我不这么认为。大约一年前,我们想在客户端开发rtf浏览器,但我们失败了。 没有GWT-Rtf库。您可以尝试查找用javascript编写的内容然后用JSNI包装它,但我还没有看到这样的库。有人告诉我,有可能使用Activex,但我们甚至没有尝试过这种方法。
答案 1 :(得分:0)
你想要达到什么目的?如果要与RTF编辑器(例如Microsoft Word)共享文档,则应检查该编辑器是否也可以使用HTML。我知道MS Word可以编辑HTML。
或者,您可以考虑将RTF转换为HTML,然后再将其转换回服务器端。有几个Java库可以做到这一点,我相信Flying Saucer就是其中之一。
答案 2 :(得分:0)
您可以将RTFEditorKit与HTMLEditorKit结合使用,以在服务器端或applet之间进行转换。这样您就可以使用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();
}