本文介紹讀取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);
}
}
尾註讀取結果: