2011-01-18 5 views

答えて

1

私はそうは思わない。約1年前に私たちはクライアント側でrtfブラウザを開発したいと思って失敗しました。 GWT-Rtfライブラリはありません。 JavaScriptで書かれたものを見つけてJSNIでラップすることもできますが、そのようなライブラリも見たことがありません。誰かがActivexで可能かもしれないと私に言ったが、私たちはこの方法を試みていない。

0

達成しようとしていることは何ですか?たとえば、Microsoft WordのようなRTFエディターと文書を共有したい場合は、そのエディターがHTMLでも動作するかどうかを確認する必要があります。私はMS WordがHTMLを編集できることを知っています。

また、RTFをHTMLに変換してサーバー側に戻すこともできます。そこにはいくつかのJavaライブラリがあり、そのためにはFlying Saucerがその一つだと私は信じています。

+0

データベースにRTFデータがありますが、インターネットブラウザに表示され、ユーザーが編集します。 RTFをHTMLに変換して使用します。しかし、HTMLを使用すると、EDITORでは複数のスペースが無視されます。そのため、テキスト形式が失われ、ユーザーは保存する前に入力したものが表示されません。 –

+0

おそらく、ノーマルスペースを改行しないスペース(http://en.wikipedia.org/wiki/Non-breaking_space)をエディタで置き換えるだけです。 KeyDownHandler(http://google-web-toolkit.googlecode.com/svn/javadoc/2.1/com/google/gwt/event/dom/client/HasKeyDownHandlers.html)でキーの押下を傍受して、その場で実行できます) – David

+0

ありがとうございますが、問題はこれではありません。ユーザーの入力中に問題はありません。格納されたデータがDBから取得され、エディタに置かれると問題が発生します。 –

0

RTFEditorKitをHTMLEditorKitと組み合わせて使用​​すると、2つのサーバー側またはアプレット間の変換が可能です。この方法で、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

あなたの返事をありがとうが、この方法の問題は複数のスペースです。 GWTのリッチテキストエディタは複数のスペースを無視します。 –

+0

をhtmlの に変更してください。 – LINEMAN78

+0

これは分かりにくいですが、メソッドの変更

に置き換えてください。これは受け入れられません。 En象限の交換方法が必要です。 –

関連する問題