0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

JavaはWordで脚注と文末脚注を読む方法

Last updated at Posted at 2021-12-17

脚注は文章の内容を補充し説明するときに役に立ちます、Wordを使用している中よく見える機能の一つです。今回の記事はWordで脚注と文末脚注を読む方法を紹介します。
注:この記事では、Wordライブラリー(Java Free Editionの場合はFree Spire.Doc)を使用して読み取ります。公式Webサイトからライブラリーを**ダウンロード**し、ファイルを解凍して、JavaプログラムをlibフォルダーのSpire.Doc.jarにインポートできます。または、Mavenリポジトリを介してインストールおよびインポートします。

jarインポートの結果は次のとおりです。
01.png
テストドキュメントは、脚注と文末脚注を含めて次のとおりです。
02.png
##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);
    }
}

脚注の読み取り結果:
03.png
##2. 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> 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);
    }
}

文末脚注の読み取り結果:
04.png
以上は今回の記事の紹介でした、最後まで読んでいただきありがとうございます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?