脚注は文章の内容を補充し説明するときに役に立ちます、Wordを使用している中よく見える機能の一つです。今回の記事はWordで脚注と文末脚注を読む方法を紹介します。
注:この記事では、Wordライブラリー(Java Free Editionの場合はFree Spire.Doc)を使用して読み取ります。公式Webサイトからライブラリーを**ダウンロード**し、ファイルを解凍して、JavaプログラムをlibフォルダーのSpire.Doc.jarにインポートできます。または、Mavenリポジトリを介してインストールおよびインポートします。
jarインポートの結果は次のとおりです。
テストドキュメントは、脚注と文末脚注を含めて次のとおりです。
##1. Wordの脚注を読む
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.Footnote;
import com.spire.doc.fields.TextRange;
import java.util.List;
public class ExtractFootnoteAndEndnote {
public static void main(String[] args) {
//Documentのインスタンスを作成する
Document doc = new Document();
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.docx");
//ドキュメント内のすべての脚注を取得する
List<Footnote> footNotes = doc.getFootnotes();
//文字列型変数をインスタンス化する
String str = "";
//脚注をトラバースする
for (Footnote footNote :footNotes) {
//脚注の段落をトラバースする
for (int j = 0; j < footNote.getTextBody().getParagraphs().getCount(); j++) {
Paragraph paragraph = footNote.getTextBody().getParagraphs().get(j);
//段落の中のオブジェクトを全てトラバースする
for(Object object : paragraph.getChildObjects()){
//テキストを読み取る
if (object instanceof TextRange) {
TextRange textRange = (TextRange) object;
str = str + textRange.getText();
}
}
}
}
//脚注テキストをエクスポートする
System.out.println(str);
}
}
import com.spire.doc.*;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.Footnote;
import com.spire.doc.fields.TextRange;
import java.util.List;
public class ExtractFootnoteAndEndnote {
public static void main(String[] args) {
//Documentのインスタンスを作成する
Document doc = new Document();
doc.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.docx");
//ドキュメント内のすべての文末脚注を取得する
List<Footnote> endNotes = doc.getEndnotes();
//文字列型変数をインスタンス化する
String str = "";
//文末脚注をトラバースする
for (Footnote endnote :endNotes) {
//文末脚注の段落をトラバースする
for (int j = 0; j < endnote.getTextBody().getParagraphs().getCount(); j++) {
Paragraph paragraph = endnote.getTextBody().getParagraphs().get(j);
//段落の中のオブジェクトを全てトラバースする
for(Object object : paragraph.getChildObjects()){
//テキストを読み取る
if (object instanceof TextRange) {
TextRange textRange = (TextRange) object;
str = str + textRange.getText();
}
}
}
}
//文末脚注をエクスポートする
System.out.println(str);
}
}