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);
}
}
尾注读取结果:

Java 读取Word中的脚注、尾注的更多相关文章
- Java读取word中表格
因为要新建一个站,公司要把word表格的部分行列存到数据库中.之前用java操作过excel,本来打算用java从word表格中读取数据,再存到数据库中,结果因为权限不够,无法访问公司要写的那个数据库 ...
- C# 添加、读取Word脚注尾注
脚注和尾注是对文本的补充说明.脚注一般位于页面的底部,可以作为文档某处内容的注释:尾注一般位于文档的末尾,列出引文 的出处等.在本示例中将介绍如何来添加或删除Word脚注. 工具使用:Free Spi ...
- C# PDF Page操作——设置页面切换按钮 C# 添加、读取Word脚注尾注 C#为什么不能像C/C++一样的支持函数只读传参 web 给大家分享一个好玩的东西,也许你那块就用的到
C# PDF Page操作——设置页面切换按钮 概述 在以下示例中,将介绍在PDF文档页面设置页面切换按钮的方法.示例中将页面切换按钮的添加分为了两种情况,一种是设置按钮跳转到首页.下页.上页或者 ...
- [Java] Java读取Word文档
前言 最近需要做一些NLP 方面的工作,使用的是Java,在此总结一下使用Java读取Word(.doc)格式文件的方法. Apache基金会非常厉害,开源工具包POI就可以处理微软家的文档,甚至包括 ...
- java操作office和pdf文件java读取word,excel和pdf文档内容
在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...
- VBA读取word中的内容到Excel中
原文:VBA读取word中的内容到Excel中 Public Sub Duqu() Dim myFile As String Dim docApp As Word.Applicati ...
- java读取请求中body数据
java读取请求中body数据 /** * 获取request中body数据 * * @author lifq * * 2017年2月24日 下午2:29:06 * @throws IOExcepti ...
- python读取word中的段落、表、图+++++++++++Doc转换Docx
读取文本.图.表.解压信息 import docx import zipfile import os import shutil '''读取word中的文本''' def gettxt(): file ...
- java读取request中的xml
java读取request中的xml 答: // 读取xml InputStream inputStream; StringBuffer sb = new StringBuffer(); inpu ...
随机推荐
- vue element 全屏不好用问题
Chrome71版本使用screenfull.js全屏功能时报参数错误 在生产环境长期使用的一个“全屏”功能突然失效了,查看Console 如下报错: Failed to execute 'req ...
- T-SQL总结
先简单说一下 SQL是国际组织订的统一标准,各数据库厂商根据该标准开发自己的数据库及语言 T-SQL就是Microsoft公司的 oracle的是PL/SQL 下面我们主要总结T-SQL: 1.T-S ...
- MS12-020 3389蓝屏攻击
MS12-020 3389蓝屏攻击 search ms12_020 use exploit/dos/windows/rdp/ms12_020_maxchannelids set rhost 192.1 ...
- mysql索引的面试题
相信很多人对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结构. 因为索引是MySQL中比较重点的知识,相信很多人都有一定的了解,尤其是在面试中出现的频率特别高.楼主 ...
- nodejs express 框架 上传文件
web 项目应用express4.0框架 html 表单post 文件上传失败,后端无法获取提交文件 express不支持文件上传. 方式一 若是图片,可以将图片转码为BASE64上传 前端框架ang ...
- java操作telnet远程登录
import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import jav ...
- 极力推荐大佬的java项目的博客
此次说明:这是我从码云上拉取下来的java项目,仅供试验说明,不做任何获利渠道,若是发现有人拿此做其他用处,需像码云上这位大佬说明,特此感谢!!! 准备工作: 安装 maven,jdk1.8, ...
- 用缓冲技术OSCache 提高JSP应用的性能和稳定性
一.概述 在Web应用中,有些报表的生成可能需要数据库花很长时间才能计算出来:有的网站提供天气信息,它需要访问远程服务器进行SOAP调用才能得到温度信息.所有这一切都属于复杂信息的例子.在Web页面中 ...
- 在MySql中如何定义像Java中类型的Boolean类型
在MySql中如何定义像Java中类型的Boolean类型数据..其实,mysql中 是没有直接定义成Boolean这种数据类型.它只能定义成 tinyint(1) ;如果长度是1,tinyint(1 ...
- 从零开始实现基于微信JS-SDK的录音与语音评价功能
最近接受了一个新的需求,希望制作一个基于微信的英语语音评价页面.即点击录音按钮,用户录音说出预设的英文,根据用户的发音给出对应的评价.以下是简单的Demo: ![](reecode/qrcode.pn ...