目录是一种能够快速、有效地帮助读者了解文档或书籍主要内容的方式。在Word中,插入目录首先需要设置相应段落的大纲级别,根据大纲级别来生成目录表。本文中生成目录分2种情况来进行:

1.文档没有设置大纲级别,生成目录前需要手动设置

2.文档已设置大纲级别,通过域代码生成目录

使用工具:

  • Free Spire.Doc for Java (免费版)
  • IntelliJ IDEA

**工具获取途径1:**通过官网下载jar文件包,解压并导入jar文件到IDEA程序。

**工具获取途径2:**通过Maven仓库导入到Maven项目中

Java示例代码(供参考)

【示例1】手动设置大纲级别并生成目录

import com.spire.doc.*;
import com.spire.doc.documents.BuiltinStyle;
import com.spire.doc.documents.HorizontalAlignment;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.TextRange;
import java.awt.*; public class AddToc { public static void main(String[]args){ //加载测试文档Document doc = new Document("test.docx"); //在文档最前面插入一个段落,写入文本并格式化Paragraph parainserted = new Paragraph(doc);TextRange tr= parainserted.appendText("目 录");tr.getCharacterFormat().setBold(true);tr.getCharacterFormat().setTextColor(Color.gray);doc.getSections().get(0).getParagraphs().insert(0,parainserted);parainserted.getFormat().setHorizontalAlignment(HorizontalAlignment.Center); //设置文档中指定段落的大纲级别doc.getSections().get(0).getParagraphs().get(2).applyStyle(BuiltinStyle.Heading_1);doc.getSections().get(0).getParagraphs().get(3).applyStyle(BuiltinStyle.Heading_2);doc.getSections().get(0).getParagraphs().get(5).applyStyle(BuiltinStyle.Heading_2);doc.getSections().get(0).getParagraphs().get(7).applyStyle(BuiltinStyle.Heading_2);doc.getSections().get(0).getParagraphs().get(13).applyStyle(BuiltinStyle.Heading_2);doc.getSections().get(0).getParagraphs().get(14).applyStyle(BuiltinStyle.Heading_3);doc.getSections().get(0).getParagraphs().get(15).applyStyle(BuiltinStyle.Heading_3);//添加目录doc.getSections().get(0).getParagraphs().get(0).appendTOC(1,3); //更新目录表doc.updateTableOfContents(); //保存文档doc.saveToFile("AddToc.docx",FileFormat.Docx_2010);}
}

目录生成效果:

【示例2】已设置大纲级别,通过域代码直接生成目录

import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import com.spire.doc.documents.HorizontalAlignment;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.TableOfContent;
import com.spire.doc.fields.TextRange;import java.awt.*; public class AddTOC2 { public static void main (String[] args){ //加载已设置大纲级别的测试文档Document doc = new Document("sample.docx"); //在文档最前面插入一个段落,写入文本并格式化Paragraph parainserted = new Paragraph(doc);TextRange tr= parainserted.appendText("目 录");tr.getCharacterFormat().setBold(true);tr.getCharacterFormat().setTextColor(Color.gray);doc.getSections().get(0).getParagraphs().insert(0,parainserted);parainserted.getFormat().setHorizontalAlignment(HorizontalAlignment.Center); //通过域代码添加目录表TableOfContent toc = new TableOfContent(doc, "{\\o \"1-3\" \\h \\z \\u}");doc.getSections().get(0).getParagraphs().get(0).appendTOC(1,3);doc.updateTableOfContents(); //保存文档doc.saveToFile("AddToc2.docx", FileFormat.Docx_2010);}
}

目录生成效果:

最近整理了一系列的Java面试题,包含了Java基础、进阶、多线程、并发编程、数据库(MySQL、Redis、MongoDB、Memcachedd等等)、Spring全家桶、MyBatis、ZooKeeper、Dubbo、Elasticsearch、RabbitMQ、Kafka、Linux、Netty、Tomcat以及阿里、腾讯、字节、百度等大厂的面试真题,另外可以微信搜索539413949获取我为大家准备的资料

Java 添加Word目录的2种方法相关推荐

  1. java 窗体添加背景图片_Java Swing实现窗体添加背景图片的2种方法详解

    本文实例讲述了java Swing实现窗体添加背景图片的2种方法.分享给大家供大家参考,具体如下: 在美化程序时,常常需要在窗体上添加背景图片.通过搜索和测试,发现了2种有效方式.下面分别介绍. 1. ...

  2. 在word文档中如何自动生成目录,两种方法制作目录,总有一种适合你

    在word文档中如何自动生成目录,两种方法制作目录,总有一种适合你 目录 在word文档中如何自动生成目录,两种方法制作目录,总有一种适合你 1.文章中的标题较多,每个单独调整格式太费劲,这里我们用一 ...

  3. java word转pdf三种方法(附有需要的jar)

    一.jacob 1.jar下载 jacob.jar和jacob-1.17-x64.dll下载 提取码:0121 2.在jdk/bin目录下引入.dll文件(64位:jacob-1.17-x64.dll ...

  4. 用word2007自动生成目录的两种方法

                                用word2007自动生成目录的两种方法 看到很多人还在手工编写word的目录,感觉很浪费时间,下面跟大家分享一下,在word2007及word ...

  5. java设置界面边框,技术员教你解决Java 添加Word页面边框

    电脑现已成为我们工作.生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到Java 添加Word页面边框的问题,如果我们遇到了Java 添加Word页面边框的情况,该怎么处理怎么才能解决Java ...

  6. [转载]java抽取word,pdf的四种武器

    java抽取word,pdf的四种武器 很多人用java进行文档操作时经常会遇到一个问题,就是如何获得word,excel,pdf等文档的内容? 我研究了一下,在这里总结一下抽取word,pdf的几种 ...

  7. java抽取word,pdf的四种武器

    java抽取word,pdf的四种武器 @ java抽取word,pdf的四种武器 chris 2003-07-01 19:04:00 542 次浏览 chris (chris@matrix.org. ...

  8. [java] Map循环遍历的5种方法实现

    [java] Map循环遍历的5种方法实现 文章目录 一.方法一(推荐) 二.方法二(推荐) 三.方法三 四.方法四 五.方法五 总结 一.方法一(推荐) 推荐使用此方法效率比较高 Map<St ...

  9. java 匿名list,java创造匿名对象的两种方法

    在java中有时候需要一些匿名对象的使用.可能有些小伙伴拿还不会创造,其实我们在学习一些方法时都或多或少的接触过.本篇所要讲到的创造匿名对象总结了两种方法,分别是静态工具方法和Lambda表达式,我们 ...

最新文章

  1. 如何通俗易懂的理解贝叶斯网络及其应用
  2. 远程Linux主机安装zsh插件zsh-syntax-highlighting
  3. 在WebStorm环境中给nodejs项目中添加packages
  4. delphi services允许跨域访问
  5. Kali Linux 更新了1.0.9a,第一时间分享
  6. 自定义插入子串、删除子串、替换子串函数
  7. Assetbundle coustomerScripts
  8. SQL Server索引简介:SQL Server索引级别1
  9. 忘记using namespace std;
  10. matlab 数据拟合相关
  11. 命令行查看硬盘序列号
  12. 利用rancher轻松构建pass平台
  13. 用python实现列线图绘制
  14. 生成对抗神经网络基本思想
  15. 积分商城使用教程之优惠券
  16. error C2504 base class undefined
  17. 【计算视觉】理解图像中基本概念:色调、色相、饱和度、对比度、亮度
  18. vue父与子组件,子与子组件间的方法调用和通信
  19. ubuntu中trusted.gpg文件有什么作用
  20. 校招提前批之今日头条一面

热门文章

  1. Matlab学习5-图像处理之图像乘法、除法、边缘检测
  2. html+js 网页调用网络摄像头 点击拍照 并且......
  3. 商业模式画布的九大模块
  4. url 中文字符参数 php,php处理带有中文URL的方法
  5. 一文读懂处理器流水线
  6. C语言总结(第5章循环结构程序设计)
  7. 全球与中国动态光散射纳米激光粒度仪市场深度研究分析报告
  8. java基础巩固-宇宙第一AiYWM:入门java--设计模式,a story +设计模式的总结
  9. (项目实战五)响应式案例和关于
  10. JS检查password强度