文章目录

  • 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. toc如何判断 word_c#使用DocX给word添加目录TOC

    刚要做目录的时候,我就想DocX应该提供了这个方面的函数.于是我就在讨论区搜索,看看别人是怎么用的. 我搜索了catalog; catalogue; list; contents;,但是都没有和目录有 ...

  2. TablesOfContents.Add 方法 (python3处理Word添加目录)

    TablesOfContents.Add 方法 (Word) 返回一 个 TableOfContents 对象,该对象代表添加到文档中的目录. 语法 表达式.Add (Range, UseHeadin ...

  3. Java 给Word添加印章

    一.概述 本文以Java程序代码展示如何给Word文档添加印章,这里添加的印章为.png格式的图片,添加印章即在Word中的指定位置添加印章图片. 基本思路:加载word文档,获取段落,在段落中插入图 ...

  4. Word添加目录、页码、页眉奇偶不同(写论文)

    吐槽一下,自从毕业设计之后,就没怎么用过了.这几天一个同学让我给修改论文格式,本来很简单的东西,却弄不好了,一下又蒙了,丢人丢到姥姥家了.好吧,写篇博客总结一下. 声明:我用的是office2010 ...

  5. Java Poi Word 添加标题

    代码 @Testpublic void test() throws Exception {int level = 1;String styleName = "标题 1";Strin ...

  6. Java Poi Word 添加页眉文字和图片

    代码 public static void main( String[] args ) throws Exception {FileInputStream in = new FileInputStre ...

  7. Java现有Word文档添加目录

    文章目录 Java现有Word文档添加目录 1.手动设置大纲级别并添加目录 2.通过域代码添加目录 Java现有Word文档添加目录 本篇文章将介绍如何使用Spire.Doc for Java添加Wo ...

  8. Word处理控件Aspose.Words功能演示:使用 Java 在 Word 中添加或更新目录

    Word 文档中的目录(TOC) 为您提供了文档内容的概述.此外,它还允许导航到文档的特定部分.在本文中,将学习如何以编程方式处理 Word 文档中的目录.特别地,本文介绍了如何使用 Java 在 W ...

  9. Java 读取Word标题(目录)

    概述 Word中的标题可通过"样式"中的选项来快速设置(如图1), 图1 在添加目录时,可将"有效样式"设置为"目录级别"显示(如图2),一 ...

最新文章

  1. Retrofit 入门和提高
  2. 7.2集合类型操作符
  3. faster rcnn源码理解(二)之AnchorTargetLayer(网络中的rpn_data)
  4. 排序1+1:冒泡排序法(BubbleSort)的改进以及效率比较
  5. 转载 vue的基础使用
  6. 【Breadth-first Search 】752. Open the Lock
  7. Java在Windows下导出xml文件到Linux服务器上
  8. Java核心篇之泛型--day5
  9. 计算机基本概念及简单的二进制运算
  10. win7一直显示正在关机_LG可编程控制器一直显示正在通信维修选凌科公司规模大...
  11. wordpress 固定链接变成html,wordpress固定链接只有默认能用,其他链接设置网页打不开怎么办...
  12. 用计算机求回归,鲜为人知的用途,回归分析用计算器就能做!
  13. 2019数字音乐市场年度回顾,QQ音乐全面领先
  14. Ubuntu18.04安装Pangolin0.6
  15. 头条限流是什么原因_头条号跨领域了,限流了,怎么补救!
  16. 智能电子眼镜可监控健康,可进行脑机接口视觉刺激,控制视频游戏
  17. 百度seo算法_SEO秘诀:Google的逆向工程算法
  18. Efficient Fully Homomorphic Encryption from (Standard) LWE 论文理解
  19. 脚手架的含义,什么是脚手架?什么才能叫做脚手架!(博主自己观点)
  20. 【Qt】关于QLabel显示图片二三事

热门文章

  1. cdr2022订阅版 全新版本新功能体验CorelDRAW2022
  2. 联想笔记本ideapad 320C 15IKB笔记本电脑改装总结
  3. Oracle索引梳理系列(八)- 索引扫描类型及分析(高效索引必备知识)
  4. DaVinci:Camera Raw(CinemaDNG)
  5. 【华为云技术分享】云图说 | 初识华为云存储容灾服务:为您的云上数据保驾护航
  6. mql5的include库文件中自定义enum类型在指标文件中的调用方式
  7. cmd的一些有趣命令
  8. javanbsp;学习过程
  9. Spring Boot 1.5.10项目引入knife4j接口文档
  10. SpringBoot整合knife和swagger3