Есть ли у GWT richtextbox, который показывает данные типа RTF? - PullRequest
0 голосов
/ 18 января 2011

Я использую GWT Richtextbox , но этот виджет отображает значения в простом текстовом или HTML-формате.Есть ли способ показать данные RTF в виджете GWT-Richtext или GWT-htmlEditor?Или в других библиотеках GWT есть виджет, который будет это делать?

Ответы [ 3 ]

1 голос
/ 18 января 2011

Я так не думаю.Около года назад мы хотели разработать браузер RTF на стороне клиента, и мы потерпели неудачу.Нет библиотек GWT-Rtf.Вы можете попытаться найти что-то написанное в javascript, а затем обернуть это с помощью JSNI, но я не видел такой библиотеки.Кто-то сказал мне, что это возможно с Activex, но мы даже не пробовали этот метод.

0 голосов
/ 19 января 2011

Вы можете использовать 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();
}
0 голосов
/ 18 января 2011

Чего ты пытаешься достичь?Если вы хотите поделиться документами с редактором RTF, например, с Microsoft Word, вам следует проверить, может ли этот редактор работать с HTML.Я знаю, что MS Word может редактировать HTML.

В качестве альтернативы, вы можете рассмотреть возможность переноса RTF в HTML и обратно на стороне сервера.Для этого существует несколько библиотек Java, и я считаю, что Летающая тарелка - одна из них.

...