概述

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.jar 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();
}
}

标题(目录)获取结果:

本文完。

原创内容,如需转载,请注明出处!

Java 获取Word中的标题大纲(目录)的更多相关文章

  1. Java 获取Word中指定图片的坐标位置

    本文介绍通过Java程序获取Word文档中指定图片的坐标位置. 程序运行环境: Word测试文档:.docx 2013 Free Spire.doc.jar 3.9.0 IntelliJ IDEA J ...

  2. Java 获取Word中的所有插入和删除修订

    在 Word 文档中启用跟踪更改功能后,会记录文档中的所有编辑行为,例如插入.删除.替换和格式更改.对插入或删除的内容,可通过本文中介绍的方法来获取. 引入Jar 方法1 手动引入:将 Free Sp ...

  3. [转载]JAVA获取word表格中数据的方案

    上一个项目的开发中需要实现从word中读取表格数据的功能,在JAVA社区搜索了很多资料,终于找到了两个相对最佳的方案,因为也得到了不少网友们的帮助,所以不敢独自享用,在此做一个分享. 两个方案分别是: ...

  4. [原创]JAVA获取word表格中数据的方案

    上一个项目的开发中需要实现从word中读取表格数据的功能,在JAVA社区搜索了很多资料,终于找到了两个相对最佳的方案,因为也得到了不少网友们的帮助,所以不敢独自享用,在此做一个分享. 两个方案分别是: ...

  5. Java读取word中表格

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

  6. java获取request中的参数、java解析URL问号后的参数

    java获取request中的参数.java解析URL问号后的参数.有时候我们需要从request中获取参数,或者获取拼接在Url后面的参数,有时候一个一个去拿有点麻烦,一起拿出来放在一个map里面需 ...

  7. Java获取路径中的文件名(正则表达式)

    Java获取路径中的文件名(正则表达式) 目标 在这个路径中我想得到model2 /E:/2017-02-21--SoftWare/github/test/Java/poiDemo_word2exce ...

  8. 随笔记录①—利用poi读取Word中的标题和内容

    使用时间:4小时 使用poi方法将word中的内容提取出来,并输出到控制台或者存储到数据库poi.jar下载地址:https://www.apache.org/dyn/closer.lua/poi/r ...

  9. Java 实现word 中写入文字图片的解决方案

    JAVA生成WORD文件的方法目前有以下两种方式: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案; 一种是poi但是他的excel处理很程序 ...

随机推荐

  1. trao 模拟点击 & js auto click

    trao 模拟点击 & js auto click 日历上选择某一天,在 scrollview 自动定位到选择的那一天 click 后获取 item 的 e.target.offsetLeft ...

  2. 开启算法之路,还原题目,用debug调试搞懂每一道题

    文章简述 大家好,本篇是个人的第 3 篇文章. 承接第一篇文章<手写单链表基础之增,删,查!附赠一道链表题>,在第一篇文章中提过,在刷算法题之前先将基础知识过一遍,这样对后面的做算法题是很 ...

  3. Java并发包源码学习系列:同步组件Semaphore源码解析

    目录 Semaphore概述及案例学习 类图结构及重要字段 void acquire() 非公平 公平策略 void acquire(int permits) void acquireUninterr ...

  4. vue:表格中多选框的处理

    效果如下: template中代码如下: <el-table v-loading="listLoading" :data="list" element-l ...

  5. Cloudam云端携手高校探索云计算在生命科学领域的应用

    随着云计算服务和实践的成熟,越来越多的行业对于云计算的需求也日益增加.不同行业的需求与云计算融合,就需要更大的算力支撑.这也意味着,云计算的需求市场日渐扩大,Cloudam云端自主研发的云E算力平台应 ...

  6. jQuery实现全网热播视频

    <section id="play"> <h1>全网热播视频</h1> <ul> <li><img src=&qu ...

  7. ciscn_2019_final_5

    目录 ciscn_2019_final_5 总结 题目分析 checksec 函数分析 main menu new_note del_note edit_note 漏洞点 利用思路 EXP 调试过程 ...

  8. css实现鼠标滑过出现从中间向两边扩散的下划线

    这个效果一开始我是在华为商城页面上看到的,刚开始还以为挺复杂,实现的时候还有点没头绪.不过,还好有百度,借此记录一下我在导航条上应用的实现方法. 主要是借助了伪元素,代码如下: <div cla ...

  9. mongoDB导出-导入数据

    --导出数据集 C:\MongoDB\db\bin>mongoexport -d ttx-xwms-test -c things -o d:\mongo_data\things.txt C:\M ...

  10. Hi3559AV100 NNIE开发(2)-RFCN(.wk)LoadModel及NNIE Init函数运行过程分析

    之后随笔将更多笔墨着重于NNIE开发系列,下文是关于Hi3559AV100 NNIE开发(2)-RFCN(.wk)LoadModel及NNIE Init函数运行过程分析,通过对LoadModel函数及 ...