Java 讀取Word中的腳註、尾註

本文介紹讀取Word中的腳註及尾註的方法,添加腳註、尾註可以參考這篇文章

:本文使用了Word類庫(Free Spire.Doc for Java 免費版)來讀取,獲取該類庫可通過官網下載,並解壓文件,將lib文件夾下的Spire.Doc.jar導入java程序;或者通過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("test1.docx");

        //獲取文檔中的所有腳註
       List<Footnote> footNotes = doc.getFootnotes();

       //實例化String類型變量
       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);
    }
}

腳註讀取結果:

 

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("test1.docx");

       //獲取所有尾註
        List<Footnote> endNotes = doc.getEndnotes();
        //實例化String類型變量
        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);
    }
}

尾註讀取結果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章