5

Java で使用できる堅牢な RTF パーサーを知っている人はいますか? 国際テキストを含むプレーンテキストを抽出する必要があります。埋め込まれた画像やファイルを抽出するのもいいでしょう。また、簡単に呼び出せる C++ やその他のライブラリを使用することもできます。適切なソース コードがあれば、Java に変換することもできます。

次のライブラリは、RTF を十分にカバーしていないか、一部の有効な RTF を解析できません。

  1. Java Swing の RTFEditorKit、非常に基本的で脆弱な Apache Tikka、nutch、および他の多くのツールがこれを使用しています。
  2. iText の RTF ライブラリ (com.lowagie.etc...)、あまり包括的ではない
  3. etranslate rtf ライブラリ (これは Java ライブラリの中で最も完全なものです) 更新されたバージョンがあるかどうかはわかりませんが、取得したバージョンは私の rtf コレクションの一部で失敗します (RTF は有効で、少なくとも MsWord と OpenOffice で開きます OK )。

かなり完全な C# ライブラリがありますが、残念ながら、それは Java ではなく C# です。 http://www.codeproject.com/Articles/27431/Writing-Your-Own-RTF-Converter

OpenOffice も調べましたが、おそらく非常に包括的ですが、必要なものに対して遅すぎます。

(この質問を投稿する前に、Web 検索とスタック オーバーフロー検索を行ったので、古い「既に質問された」投稿を参照している場合は、おそらくそこに回答がない可能性があります。ただし、場合に備えて、遠慮なく指摘してください。見逃した!)

4

2 に答える 2

5

RTF パーサー キットが役立つ場合があります。ドキュメントが解析されるときにイベントを配信するストリームベースのパーサーを提供します。API の使用方法を示す簡単なサンプル テキスト エクストラクタが提供されています。

于 2013-12-11T14:51:29.107 に答える
2

あなたのプロジェクトが非営利の場合、私の意見では etranslate よりも優れた無料の Java rtf to xml ライブラリあり、そこから xml を処理できます。ただし、商用目的で使用する場合は、それを開発した会社であるrtf-to-xml.comとライセンス契約を結ぶ必要があります。

ただし、rtf-to-xml を見つける前に、同様の状況に陥ったことがありますが、Linux サーバーで ms rtf を解析する必要があるときに、この問題の面白い回避策を見つけました。Ted という名前のライブラリでもある無料のリッチ テキスト プロセッサがあります。これは、ユーザー インターフェイスなしでコマンド ラインから引数を取得し、JNI 呼び出しでラップできます。

これが役立つことを願っています。

于 2013-08-24T11:46:53.890 に答える