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

标题(目录)获取结果:

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

(0)

相关推荐

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

    以下内容介绍通过Java程序获取Word文档中指定图片的坐标位置. 操作方法 01 1. 指定文件路径,本次测试代码路径为项目文件夹路径.即在IDEA项目文件下存入用于测试的Word文档,如:C:\U ...

  • 如何将word中的标题生成目录

    我们在用word写论文或者写其他文章的时候,经常会需要写目录,基本上目录和下级的标题都是单独编辑的,其实在word中,可以将标题生成目录,这样简单又方便,本篇就来和大家分享一下这个方法. 操作方法 0 ...

  • Java 获取Word中的文本突出显示(高亮)和底纹(背景)

    [概述] 文本突出显示和底纹的区别: 在Word里面设置文本"突出显示(高亮)"和"底纹"是通过不同方式来实现的,但是表现出来的文字效果却很相似,不注意区分就很 ...

  • 怎么在word中设置自动更新目录功能

    有的小伙伴在使用Word软件编辑文档时,为了可以快速找到文档中需要的内容,因此会设置目录,但是如果修改了文档,那么也就需要更新目录,为了节省更新目录的时间,因此想要设置自动更新目录功能,但是却不知道如 ...

  • 如何在word中插入公式、目录

    如何在word中插入公式.目录 操作方法 01 在某些情况下,特别是在编辑一些论文的时候,文档中可能需要插入一些数学公式,例如根式公式或积分公式等等插入公式的方法如果采用常规的编辑手段自己去组合,不仅 ...

  • Word中怎么自动生成目录

    Word中不仅能自己插入目录,还可设置自动生成目录,相信很多的朋友跟我一样不知道吧!没关系,小编这里总结了一些高手介绍的设置技巧,经常写书或者是写论文的朋友,可以熟知一下. Word 优点:用Word ...

  • 在word中如何创建有目录的文档?

    在word中如何创建有目录的文档? 步骤 1.首先标题的选择上要规律.比如图中的第一章.第二章.第三章等,选择标题1的规范. 2.而在大标题下如何还有小标题,可以使用标题2 ,标题3等依次类推. 比如 ...

  • 怎么在Word中手动调齐目录 ?

    Word使我们日常工作中用来处理文档的软件,许多小伙伴在使用过程中会遇到一些问题,比如说怎么在Word中手动调齐目录.今天,小编就来教大家具体应该如何操作.具体如下:1. 首先打开我们的WORD文档, ...

  • 如何在Word中设置页码和目录

    在写论文或者报告时经常需要在Word中设置页码和目录,今天小编来教大家如何在Word中设置页码和目录,就再也不愁写的报告不专业啦! 操作方法 01 首先,我们来学习一下如何设置页码. 02 点击插入, ...