5

私はApache POIを使用しています。

「org.apache.poi.hwpf.extractor.WordExtractor」を使用して、doc ファイルからテキストを読み取ることができます

「org.apache.poi.hwpf.usermodel.Table」を使用してテーブルを取得しました

しかし、テキストの太字/斜体の書式を取得するにはどうすればよいですか。

前もって感謝します。

4

2 に答える 2

5

WordExtractorテキストのみを返し、他には何も返しません。

Word ドキュメントのテキストと書式設定を取得する最も簡単な方法は、Apache Tikaの使用に切り替えることです。Apache Tika は (特に) Apache POI の上に構築され、プレーン テキスト抽出とリッチ抽出 (書式付き XHTML) の両方を提供します。

別の方法として、自分でコードを書きたい場合は、Tika の WordExtractorのコードを確認することをお勧めします。このコードでは、Apache POI を使用して一連のテキストの書式設定情報を取得する方法を示しています。

于 2013-06-05T15:25:07.180 に答える
1

WordExtractor を使用する代わりに、Rangeを使用して読み取ることができます。

...
HWPFDocument doc = new HWPFDocument(fis);
Range r = doc.getRange();
...

範囲はそのモデルの中心的なクラスです。範囲を取得したら、テキストの機能をさらに操作して、たとえば、すべての CharacterRun を反復処理し、イタリック (.isItalic()) かどうかを確認するか、イタリックに変更します (.setItalic(true))。

for(int i = 0; i<r.numCharacterRuns(); i++)
        {
            CharacterRun cr = r.getCharacterRun(i);
            cr.setItalic(true);
            ...
        }

...
File fon = new File(yourFilePathOut);
FileOutputStream fos = new FileOutputStream(fon);
doc.write(fos); 
...

HWPFの使用に固執している場合に機能します。その間に、パラグラフの概念を取り入れて作業する方が便利です。

于 2015-10-27T12:10:26.247 に答える