文章目录

  • Java现有Word文档添加目录
    • 1.手动设置大纲级别并添加目录
    • 2.通过域代码添加目录

Java现有Word文档添加目录

本篇文章将介绍如何使用Spire.Doc for Java添加Word目录。一般在Word中添加目录时,需要先设置文字大纲级别,因此以下示例将分两种情况来添加目录,即:

  • 源文档没有设置大纲级别:添加目录前需要先手动设置大纲级别
  • 源文档已设置大纲级别:通过域代码添加目录

使用工具:Free Spire.Doc for Java (免费版)
工具获取途径:https://www.e-iceblue.cn/Downloads/Free-Spire-Doc-JAVA.html

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("测试文件.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(1).applyStyle(BuiltinStyle.Heading_1);doc.getSections().get(0).getParagraphs().get(2).applyStyle(BuiltinStyle.Heading_2);doc.getSections().get(0).getParagraphs().get(4).applyStyle(BuiltinStyle.Heading_2);doc.getSections().get(0).getParagraphs().get(6).applyStyle(BuiltinStyle.Heading_2);doc.getSections().get(0).getParagraphs().get(12).applyStyle(BuiltinStyle.Heading_2);doc.getSections().get(0).getParagraphs().get(13).applyStyle(BuiltinStyle.Heading_3);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(17).applyStyle(BuiltinStyle.Heading_1);doc.getSections().get(0).getParagraphs().get(18).applyStyle(BuiltinStyle.Heading_2);//添加目录doc.getSections().get(0).getParagraphs().get(0).appendTOC(1,3);//更新目录表doc.updateTableOfContents();//保存文档doc.saveToFile("目录.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("测试文件2.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("目录2.docx", FileFormat.Docx_2010);}
}

效果:

PS:关于通过域代码生成目录,可参考微软官网,获取更多目录设置方法。

Java现有Word文档添加目录相关推荐

  1. word文档添加目录

    当需要给word文档添加目录时,当需要查看word文档结构图(即左边显示目录--点击目录,右边自动跳转至目录所在页)时, 第一步,你需要先把希望显示的文字,设置其样式为"标题",才 ...

  2. word 技巧之一:给word文档添加目录、查看word文档结构图

    当需要给word文档添加目录时,当需要查看word文档结构图(即左边显示目录--点击目录,右边自动跳转至目录所在页)时, 第一步,你需要先把希望显示的文字,设置其样式为"标题",才 ...

  3. Java向word文档添加图片水印

    前言: 水印可以说是一个标识,有时我们希望向文档中插入公司名称作为水印,或者将公司logo插入到文档中作为水印.先来看看本地word文档如何插水印吧! 然后选择图片水印选择图片添加即可. 那么想要通过 ...

  4. 如何添加二级标题_怎样给Word文档添加目录?

    您好,欢迎来到[爆炒Office],这里有原创的实用办公软件技巧.着手工作实际,解决办公问题. 概述 本文介绍Word中常用的操作--给文档添加上目录.这一操作很常用,也很简单,但是,不同的操作得到的 ...

  5. Word处理控件Aspose.Words功能演示:使用 Java 为 Word 文档添加水印

    为防止非法使用.定义所有权.显示文档状态等多种目的,在 Word 文档中添加水印.在本文中,您将学习如何使用 Java 为 Word 文档添加水印.文章将分别演示如何将文字和图片水印插入到Word文档 ...

  6. java 界面艺术字,Java 在Word文档中添加艺术字

    与普通文字相比,艺术字更加美观有趣也更具有辨识度,常见于一些设计精美的杂志或宣传海报中.我们在日常工作中编辑Word文档时,也可以通过添加艺术字体来凸显文章的重点,美化页面排版.这篇文章将介绍如何使用 ...

  7. java 多文字水印_Java 如何给Word文档添加多行文字水印

    前言html 我在以往的文章中曾介绍过如何给Word文档添加文本水印和图片水印,及怎样删除文档中的水印.关于文本水印,以前那篇教程里主要指的是单行字体的水印,而在操做Word文档时,有时也会碰到须要添 ...

  8. java怎么给文档加水印_Java 如何给Word文档添加多行文字水印

    前言 我在以往的文章中曾介绍过如何给Word文档添加文本水印和图片水印,及怎样删除文档中的水印.关于文本水印,之前那篇教程里主要指的是单行字体的水印,而在操作Word文档时,有时也会碰到需要添加多行文 ...

  9. java word 颜色设置_Java 给Word文档添加背景颜色

    前言 当我们制作好Word文档后,想要让枯燥乏味的文本显得有活力,或是想高亮显示文档中指定的段落或文字,此时我们可以通过为整个文档或某特定文字/段落添加背景色的形式来实现.本文将使用Free Spir ...

最新文章

  1. ASP.NET2.0的multiview和wizard控件
  2. struts 修改拦截器修改返回值_关于struts2简单的介绍与示例
  3. [公告] TechNet / MSDN 经理人博客上周移机整合暂断
  4. new,is和as运算符解析及运行时类型,对象,线程堆栈,托管堆之间的联系
  5. 一步一步写算法(之洗牌算法)
  6. face++算法工程实习生面试
  7. 官宣 | Apache Flink 1.12.0 正式发布,流批一体真正统一运行!
  8. 百度AI 17篇 CVPR 2019 论文介绍(附下载)
  9. 系统集成项目管理工程师考试大纲第二版
  10. raspberry pi_探索Raspberry Pi Sense HAT
  11. urllib携带登录信息
  12. 防火墙虚拟系统互访配置实例
  13. iocomp iPlot使用说明24 Plot Pack Events绘图包事件
  14. python zen_The Zen of Python
  15. 如何通过pk8和pem生成jks
  16. badboy的脚本录制教程
  17. 折扣力度自动计算器 | 财富自由必备小工具
  18. win10下conda 使用教程
  19. visualSVN server的安装和使用
  20. 从“网红”到“超级网红”,长沙凭什么这么火?

热门文章

  1. UVa 10557 - XYZZY
  2. Deepin Linux CPU无法进行自动降频的一个解决方法
  3. 抓取全国行政区划(PHP)代码
  4. Arthas(阿尔萨斯) 能为你做什么?
  5. 环网柜开关柜开闭所局部放电在线监测装置/MCSG-PD-6016空间超高频局放在线监测装置系统在10kV开关柜中的应用
  6. 比你优秀的人比你更努力
  7. 采集淘宝API数据,抓取淘宝商品资料无需申请appkey
  8. 【VS开发】【图像处理】ISP图像传感器处理器基础
  9. python处理cookies
  10. 小扎动刀!Meta启动史上最大规模裁员,数千人将失业