-
Java 读取Word标题(目录)
概述
Word中的标题可通过“样式”中的选项来快速设置(如图1),
图1
在添加目录时,可将“有效样式”设置为“目录级别”显示(如图2),一定程度上来说,标题大纲也可以作为目录来参考。
图2
本文,将通过后端Java程序代码介绍如何来获取Word中的标题内容。
注:如果在Word中进行了如图2中的设置,此方法也可以作为获取目录的方法;若没有对应设置,则想要通过此方法来获取的目录内容可能不完整。
本次测试的Word文档如下图所示,【标题样式】和【目录级别】经过相应设置,在获取标题大纲时等同于获取目录:
图3
代码测试环境
- Word测试文档:.docx 2013版
- 编译环境:IntelliJ IDEA 2018
- Jdk版本:1.8.0
- Word jar包:Free Spire.Doc for Java 3.9.0
Java 程序代码
import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; public class GetTitle { public static void main(String[] args)throws IOException { //加载Word测试文档 Document doc = new Document(); doc.loadFromFile("sample.docx"); //保存标题内容到.txt文档 File file = new File("GetTitle.txt"); if (file.exists()) { file.delete(); } file.createNewFile(); FileWriter fw = new FileWriter(file, true); BufferedWriter bw = new BufferedWriter(fw); //遍历section for (int i = 0; i < doc.getSections().getCount(); i++) { Section section = doc.getSections().get(i); //遍历Paragraph for (int j = 0; j < section.getParagraphs().getCount(); j++) { Paragraph paragraph = section.getParagraphs().get(j); //获取标题 if ( paragraph.getStyleName().matches("1"))//段落为“标题1”的内容 { //获取段落标题内容 String text = paragraph.getText(); //写入文本到txt文档 bw.write("标题1: "+ text + "\r"); } //获取标题 if ( paragraph.getStyleName().matches("2"))//段落为“标题2”的内容 { //获取段落标题内容 String text = paragraph.getText(); //写入文本到txt文档 bw.write("标题2: " + text + "\r"); } //获取标题 if ( paragraph.getStyleName().matches("3"))//段落为“标题3”的内容 { //获取段落标题内容 String text = paragraph.getText(); //写入文本到txt文档 bw.write("标题3: " + text+"\r"); } //获取标题 if ( paragraph.getStyleName().matches("4"))//段落为“标题4”的内容 { //获取段落标题内容 String text = paragraph.getText(); //写入文本到txt文档 bw.write("标题4: " + text+"\r"); } bw.write("\n"); } } bw.flush(); bw.close(); fw.close(); } }
标题(目录)获取结果:
本文完。
原创内容,如需转载,请注明出处!
出 处:
https://www.cnblogs.com/wujiwen/p/14654062.html
最新更新
带有参数的装饰器
类装饰器
django中的auth模块与admin后台管理
python的日期处理
字符串常用方法
基本数据类型概述
python-map()函数基本用法
python带你实现任意下载AcFun视频数据~
bbs项目之注册功能
变量的定义和使用
三大常用数据库事务详解之三:事务运行
三大常用关系型数据库事务详解之二:基
三大关系型数据库事务详解之一:基本概
MongoDB常用命令(2)
MongoDB基本介绍与安装(1)
SQLServer触发器调用JavaWeb接口
SQL Server索引的原理深入解析
SqlServer2016模糊匹配的三种方式及效率问题
SQL中Truncate的用法
sqlserver 多表关联时在where语句中慎用tri
VB.NET中如何快速访问注册表
ASP.NET中图象处理过程详解
Vue(1)Vue安装与使用
JavaScript 语言入门
js将一段字符串的首字母转成大写
纯原生html编写的h5视频播放器
H5仿原生app短信验证码vue2.0组件附源码地
TypeScript(4)接口
TypeScript(3)基础类型
TypeScript(2)WebStorm自动编译TypeScript配置