本文介绍读取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);
}
}

尾注读取结果:

Java 读取Word中的脚注、尾注的更多相关文章

  1. Java读取word中表格

    因为要新建一个站,公司要把word表格的部分行列存到数据库中.之前用java操作过excel,本来打算用java从word表格中读取数据,再存到数据库中,结果因为权限不够,无法访问公司要写的那个数据库 ...

  2. C# 添加、读取Word脚注尾注

    脚注和尾注是对文本的补充说明.脚注一般位于页面的底部,可以作为文档某处内容的注释:尾注一般位于文档的末尾,列出引文 的出处等.在本示例中将介绍如何来添加或删除Word脚注. 工具使用:Free Spi ...

  3. C# PDF Page操作——设置页面切换按钮 C# 添加、读取Word脚注尾注 C#为什么不能像C/C++一样的支持函数只读传参 web 给大家分享一个好玩的东西,也许你那块就用的到

    C# PDF Page操作——设置页面切换按钮   概述 在以下示例中,将介绍在PDF文档页面设置页面切换按钮的方法.示例中将页面切换按钮的添加分为了两种情况,一种是设置按钮跳转到首页.下页.上页或者 ...

  4. [Java] Java读取Word文档

    前言 最近需要做一些NLP 方面的工作,使用的是Java,在此总结一下使用Java读取Word(.doc)格式文件的方法. Apache基金会非常厉害,开源工具包POI就可以处理微软家的文档,甚至包括 ...

  5. java操作office和pdf文件java读取word,excel和pdf文档内容

    在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...

  6. VBA读取word中的内容到Excel中

    原文:VBA读取word中的内容到Excel中 Public Sub Duqu()      Dim myFile As String     Dim docApp As Word.Applicati ...

  7. java读取请求中body数据

    java读取请求中body数据 /** * 获取request中body数据 * * @author lifq * * 2017年2月24日 下午2:29:06 * @throws IOExcepti ...

  8. python读取word中的段落、表、图+++++++++++Doc转换Docx

    读取文本.图.表.解压信息 import docx import zipfile import os import shutil '''读取word中的文本''' def gettxt(): file ...

  9. java读取request中的xml

    java读取request中的xml   答: // 读取xml InputStream inputStream; StringBuffer sb = new StringBuffer(); inpu ...

随机推荐

  1. Linux安装svn服务

    安装svn yum -y install subversion 创建保存仓库/版本库的目录 mkdir -p /opt/data/svndir 创建仓库/版本库, 这里同时创建两个仓库(project ...

  2. linux系统开机静态分配ip地址

    在/etc/sysconfig/network-scripts/ifcfg-eth0文件中 添加: IPADDR=192.168.1.100(设置静态地址) NETMASK=255.255.255.0 ...

  3. Django常见错误总结

    1 ImportError: No module named 'MySQLdb' 解决方法: . 安装pymysql模块 . 在app的__init__.py文件中写入以下内容 import pymy ...

  4. Qt 多线程QThread实现方法之一

    基本思想 在主线程中,哪里需用多线程,就在哪里创建一个QThread实例: 把耗时操作封装到一个继承于QObject的子类(这里叫做工作类Worker)槽函数中: 创建QThread实例和Worker ...

  5. JavaScript学习总结(三)BOM和DOM详解

    转自:http://segmentfault.com/a/1190000000654274 DOM介绍 D(文档)可以理解为整个Web加载的网页文档,O(对象)可以理解为类似window对象只来的东西 ...

  6. Hibernate实现步骤

    1. 引入jar文件(hibernate3.jar, lib\required目录下所有的jar,log4j记录的log4j-1.2.16.jar,slf4j-log4j12-1.5.8.jar,oj ...

  7. [洛谷P4720] [模板] 扩展卢卡斯

    题目传送门 求组合数的时候,如果模数p是质数,可以用卢卡斯定理解决. 但是卢卡斯定理仅仅适用于p是质数的情况. 当p不是质数的时候,我们就需要用扩展卢卡斯求解. 实际上,扩展卢卡斯=快速幂+快速乘+e ...

  8. vue项目实例-常用标签

    感谢:https://www.jianshu.com/p/5d9b341d650f 总结: 1.<router-link to=''>主要实现跳转链接功能,属性to='/'即是跳转到pat ...

  9. 关于log4j中log4j.properties和log4j.xml的加载顺序

    如果采用log4j输出日志,要对log4j加载配置文件的过程有所了解. log4j启动时,默认会寻找source folder下的log4j.xml配置文件,若没有,会寻找log4j.properti ...

  10. Dockfile自动创建discuz论坛和可道云

    将discuz论坛的zip包解压之后用tar包压缩,这样ADD可以直接解压tar包. [root@localhost centos6.9_ssh_discuz]# pwd /opt/dockerfil ...