Java给Word添加目录
文章目录
- 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添加目录相关推荐
- toc如何判断 word_c#使用DocX给word添加目录TOC
刚要做目录的时候,我就想DocX应该提供了这个方面的函数.于是我就在讨论区搜索,看看别人是怎么用的. 我搜索了catalog; catalogue; list; contents;,但是都没有和目录有 ...
- TablesOfContents.Add 方法 (python3处理Word添加目录)
TablesOfContents.Add 方法 (Word) 返回一 个 TableOfContents 对象,该对象代表添加到文档中的目录. 语法 表达式.Add (Range, UseHeadin ...
- Java 给Word添加印章
一.概述 本文以Java程序代码展示如何给Word文档添加印章,这里添加的印章为.png格式的图片,添加印章即在Word中的指定位置添加印章图片. 基本思路:加载word文档,获取段落,在段落中插入图 ...
- Word添加目录、页码、页眉奇偶不同(写论文)
吐槽一下,自从毕业设计之后,就没怎么用过了.这几天一个同学让我给修改论文格式,本来很简单的东西,却弄不好了,一下又蒙了,丢人丢到姥姥家了.好吧,写篇博客总结一下. 声明:我用的是office2010 ...
- Java Poi Word 添加标题
代码 @Testpublic void test() throws Exception {int level = 1;String styleName = "标题 1";Strin ...
- Java Poi Word 添加页眉文字和图片
代码 public static void main( String[] args ) throws Exception {FileInputStream in = new FileInputStre ...
- Java现有Word文档添加目录
文章目录 Java现有Word文档添加目录 1.手动设置大纲级别并添加目录 2.通过域代码添加目录 Java现有Word文档添加目录 本篇文章将介绍如何使用Spire.Doc for Java添加Wo ...
- Word处理控件Aspose.Words功能演示:使用 Java 在 Word 中添加或更新目录
Word 文档中的目录(TOC) 为您提供了文档内容的概述.此外,它还允许导航到文档的特定部分.在本文中,将学习如何以编程方式处理 Word 文档中的目录.特别地,本文介绍了如何使用 Java 在 W ...
- Java 读取Word标题(目录)
概述 Word中的标题可通过"样式"中的选项来快速设置(如图1), 图1 在添加目录时,可将"有效样式"设置为"目录级别"显示(如图2),一 ...
最新文章
- Retrofit 入门和提高
- 7.2集合类型操作符
- faster rcnn源码理解(二)之AnchorTargetLayer(网络中的rpn_data)
- 排序1+1:冒泡排序法(BubbleSort)的改进以及效率比较
- 转载 vue的基础使用
- 【Breadth-first Search 】752. Open the Lock
- Java在Windows下导出xml文件到Linux服务器上
- Java核心篇之泛型--day5
- 计算机基本概念及简单的二进制运算
- win7一直显示正在关机_LG可编程控制器一直显示正在通信维修选凌科公司规模大...
- wordpress 固定链接变成html,wordpress固定链接只有默认能用,其他链接设置网页打不开怎么办...
- 用计算机求回归,鲜为人知的用途,回归分析用计算器就能做!
- 2019数字音乐市场年度回顾,QQ音乐全面领先
- Ubuntu18.04安装Pangolin0.6
- 头条限流是什么原因_头条号跨领域了,限流了,怎么补救!
- 智能电子眼镜可监控健康,可进行脑机接口视觉刺激,控制视频游戏
- 百度seo算法_SEO秘诀:Google的逆向工程算法
- Efficient Fully Homomorphic Encryption from (Standard) LWE 论文理解
- 脚手架的含义,什么是脚手架?什么才能叫做脚手架!(博主自己观点)
- 【Qt】关于QLabel显示图片二三事
热门文章
- cdr2022订阅版 全新版本新功能体验CorelDRAW2022
- 联想笔记本ideapad 320C 15IKB笔记本电脑改装总结
- Oracle索引梳理系列(八)- 索引扫描类型及分析(高效索引必备知识)
- DaVinci:Camera Raw(CinemaDNG)
- 【华为云技术分享】云图说 | 初识华为云存储容灾服务:为您的云上数据保驾护航
- mql5的include库文件中自定义enum类型在指标文件中的调用方式
- cmd的一些有趣命令
- javanbsp;学习过程
- Spring Boot 1.5.10项目引入knife4j接口文档
- SpringBoot整合knife和swagger3