先日の記事では、Apache POIを利用して、Excelのデータを取得する方法を書きました。今回は、WordとPowerPointのテキストを取得してみましょう。この機能を利用すれば、WordやPowerPointファイルの中身までキーワード検索したり、特定の禁止用語などが含まれていないかチェックすることが可能です。
まず、Wordのテキストを取得するコードは、このようになります。
java.io.FileInputStream fs = new java.io.FileInputStream(file_path);
WordExtractor we = new WordExtractor(fs);
String text = we.getText();
file_pathには、ファイルのパスを入力してください。これで、変数textに、Wordに書かれたテキストが全て格納されます。
次に、PowerPointのテキストを取得するコードです。
java.io.FileInputStream fs = new java.io.FileInputStream(file_path);
HSLFSlideShow hsss = new HSLFSlideShow(fs);
SlideShow ss= new SlideShow(hsss);
Slide[] slides = ss.getSlides();
String text = "";
for (int i = 0; i < slides.length; i++) {
TextRun[] textruns = slides[i].getTextRuns();
for (int j = 0; j < textruns.length; j++) {
text += textruns[j].getRawText();
}
}
これで、全てのテキストを変数textに格納することができます。また、Slideクラスの配列の数字が、ページ番号に対応しますので、何ページにその単語があるのかを調べることも簡単に行えます。

Leave a Reply