目录是一种能够快速、有效地帮助读者了解文档或书籍主要内容的方式。一篇完整的文档或书籍内容一定少不了详细、周全的目录表。在Word中,插入目录首先需要设置相应段落的大纲级别,根据大纲级别来生成目录表。本文中生成目录分2种情况来进行:
1.文档没有设置大纲级别,生成目录前需要手动设置
2.文档已设置大纲级别,通过域代码生成目录
使用工具:Free Spire.Doc for Java 2.0.0 (免费版)
工具获取途径1:通过官网下载jar文件包,解压并导入jar文件。
工具获取途径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);
}
}
以上2种方法都能成功生成目录表。运行程序后,可得到如下目录效果:
分享到:
相关推荐
Java 添加 Word 目录的 2 种方法示例代码详解 在本文中,我们将探讨 Java 中添加 Word 目录的两种方法。目录是一种能够快速、有效地帮助读者了解文档或书籍主要内容的方式。在 Word 中,插入目录首先需要设置相应...
要使用Java2Word生成Word文档,首先需要创建一个`Document`对象,然后添加段落、标题、图片、表格等元素。例如,你可以创建一个新的段落并设置其文本内容,或者创建一个表格并指定行数和列数。最后,调用`write`...
1. 引入依赖:将`Java2Word.jar`和`jacob1.jar`添加到项目的类路径中,如果是Maven项目,可以通过在pom.xml中添加对应的依赖。 2. 创建Document对象:这是Java2Word的基本容器,用于存储文档内容。 3. 添加内容:...
Java2Word 是一个Java库,用于将数据转换为Microsoft Word文档。这个库主要利用Jacob组件,这是一个Java-COM Bridge,允许Java程序与Windows平台上的COM(Component Object Model)组件进行交互,尤其是处理...
由于项目需要,苦苦对Java操作Word进行了一番研究,包括当下比较流行的java2Word、jacob、POI、itext等,只能说各有千秋,但是没有一个是完全适合我的,没有办法,只能去各种尝试,在研究了java2Word这个jar包的API...
这个"Java 添加Word项目符号、编号列表.zip"文件就是为了实现这一目标,它包含了使用Spire.Doc for Java库进行操作的相关代码示例。 Spire.Doc for Java是一个强大的Java库,它提供了丰富的API接口,使得开发者可以...
Java2Word是一个非常实用的Java库,主要用于将Java应用程序中的数据转换为Microsoft Word文档格式。这个库对于那些需要在程序中生成报告、合同或者任何其他Word文档的开发者来说,是极其实用的工具。它允许程序员...
首先,Java导出Word文件通常有两种方式:一是使用Apache POI库,二是使用JODConverter库。Apache POI是广泛使用的开源库,它允许Java程序员创建、修改和显示Microsoft Office格式的文件,包括Word(.doc和.docx)。...
"Java通过word模板配置书签生成word"是一个技术方案,它利用了Java的API来处理Microsoft Word文档,特别是Apache POI库,这是一种强大的工具,允许开发者在Java程序中创建、修改和展示MS Office格式的文件。...
本文将介绍 Java 如何读取 Word、PDF 格式文档的几种方法。 使用 Jacob Jacob 是一个桥接工具,连接 Java 和 COM 或 Win32 函数的一个中间件。使用 Jacob 可以读取 Word 文档的内容。首先,需要下载 Jacob 的 jar ...
2. **设置样式ID**:每个标题段落需要一个唯一的样式ID,这样Word才能正确地将它们组织成目录。可以使用`setStyleId()`方法为段落设置ID。 3. **创建目录**:使用`XWPFDocument`的`createTOC()`方法创建目录。默认...
在Java编程环境中,处理Word文档是一项常见的任务,特别是在开发OA(办公自动化)系统时。本文将详细介绍如何使用Java为Word文档插入水印以及设置保护密码,以确保文档的安全性。 首先,我们需要一个能够操作...
Java作为一种广泛使用的编程语言,提供了多种库来操作Word文档,实现自动化填充模板,例如书签插值,这在合同制作中非常有用。本文将详细讲解如何使用Java操作Word,特别是针对书签插值的方法,以及相关的技术和工具...
Java作为一种广泛使用的编程语言,提供了多种方法来根据Word模板生成Word文档,而Jacob库就是其中一种非常实用且功能强大的解决方案。 #### Jacob库简介 Jacob(Java and COM Bridge)是一个开源的Java类库,它...
在IT领域,特别是软件开发行业中,使用Java生成Word文档是一种常见的需求,特别是在自动化报告生成、文档模板填充等场景中。本文将深入探讨如何利用Java语言和相关库来实现这一功能,重点介绍Apache POI和一个相对...
描述中的“升级的原版的Java2word”意味着这个版本对原始的Java2word进行了更新和优化,可能包含了性能提升、新功能的添加或者是兼容性问题的修复。特别提到了“适用任务版本的jacob”,Jacob是一个Java到COM桥接库...
一种可能的方法是先用POI读取Word文档,然后自己编写逻辑将其转换成HTML,但这可能比较复杂,且可能无法完美保留原始格式。 Spire.Doc for Java则提供了更完整的Word处理能力,包括将Word转换为HTML的功能。这个库...
Java 操作 Word 文档,尤其是处理书签,是一种常见的需求,尤其在自动化报告生成或文档模板填充场景中。本文将详细介绍如何使用 Java 实现这一功能,避免依赖第三方库,如 Apache POI、java2word 或 jcob。 首先,...
java Jacob完美实现word添加图片水印(内附源码及jar包)。 公司最近让搞Word文档添加水印,所有下载的文档需要添加公司印章,搞了好多天才实现,利用Jacob完美实现word添加图片水印(注意需要把dll文件放到jdk的bin...