本文介绍使用spire.doc for java读取word脚注和尾注的方法,添加脚注、尾注可以参考这篇文章。
测试文档如下,包含脚注及尾注:
读取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 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);
}
}
脚注读取结果:
读取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 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);
}
}
尾注读取结果: