BLOGTIMES
2012/06/07

MS Office のファイルからテキストを抽出する

  java  apache  msoffice 
このエントリーをはてなブックマークに追加

Word ファイルから中身のテキストを抽出するツールが作りたかったので、Java で Apache POI を利用したプログラムを作ってみました。
といっても POITextExtractor というそのものズバリなクラスがあるので、これを呼び出すようにしただけで簡単に実装できました。

Apache POI - the Java API for Microsoft Documents

The Apache POI Project's mission is to create and maintain Java APIs for manipulating various file formats based upon the Office Open XML standards (OOXML) and Microsoft's OLE 2 Compound Document format (OLE2). In short, you can read and write MS Excel files using Java. In addition, you can read and write MS Word and MS PowerPoint files using Java. Apache POI is your Java Excel solution (for Excel 97-2008). We have a complete API for porting other OOXML and OLE2 formats and welcome others to participate.

以下、プログラミングメモ。

今回作ってみたサンプル

今回はコマンドラインのツールにしたかったので、引数にファイル名を渡してテキストを抽出するようにしてみました。
ExtractorFactory はファイルに応じて必要な Extractor を生成してくれるので、これ1つで Word だけでなく、 Excel や PowerPoint ファイルにも対応できました。
java -jar MSOfficeToText.jar hoge.doc のような感じで起動できます。

MSOfficeToText.java

import java.io.File; import org.apache.poi.extractor.ExtractorFactory; import org.apache.poi.POITextExtractor; public class MSOfficeToText { public static void main(String[] args) throws Exception { if(args.length != 1){ System.exit(-1); } File f = new File(args[0]); POITextExtractor extractor = ExtractorFactory.createExtractor(f); System.out.println(extractor.getText()); } }

    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/4999
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン