`
高级java工程师
  • 浏览: 408961 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java 添加Word目录的2种方法

阅读更多
目录是一种能够快速、有效地帮助读者了解文档或书籍主要内容的方式。一篇完整的文档或书籍内容一定少不了详细、周全的目录表。在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 目录的 2 种方法示例代码详解 在本文中,我们将探讨 Java 中添加 Word 目录的两种方法。目录是一种能够快速、有效地帮助读者了解文档或书籍主要内容的方式。在 Word 中,插入目录首先需要设置相应...

    java2word,java操作word

    要使用Java2Word生成Word文档,首先需要创建一个`Document`对象,然后添加段落、标题、图片、表格等元素。例如,你可以创建一个新的段落并设置其文本内容,或者创建一个表格并指定行数和列数。最后,调用`write`...

    java2word程序代码及jar包

    1. 引入依赖:将`Java2Word.jar`和`jacob1.jar`添加到项目的类路径中,如果是Maven项目,可以通过在pom.xml中添加对应的依赖。 2. 创建Document对象:这是Java2Word的基本容器,用于存储文档内容。 3. 添加内容:...

    java2word 文档

    Java2Word 是一个Java库,用于将数据转换为Microsoft Word文档。这个库主要利用Jacob组件,这是一个Java-COM Bridge,允许Java程序与Windows平台上的COM(Component Object Model)组件进行交互,尤其是处理...

    java2Word在Word任意位置插入图片

    由于项目需要,苦苦对Java操作Word进行了一番研究,包括当下比较流行的java2Word、jacob、POI、itext等,只能说各有千秋,但是没有一个是完全适合我的,没有办法,只能去各种尝试,在研究了java2Word这个jar包的API...

    Java 添加Word项目符号、编号列表.zip

    这个"Java 添加Word项目符号、编号列表.zip"文件就是为了实现这一目标,它包含了使用Spire.Doc for Java库进行操作的相关代码示例。 Spire.Doc for Java是一个强大的Java库,它提供了丰富的API接口,使得开发者可以...

    java2word及资料

    Java2Word是一个非常实用的Java库,主要用于将Java应用程序中的数据转换为Microsoft Word文档格式。这个库对于那些需要在程序中生成报告、合同或者任何其他Word文档的开发者来说,是极其实用的工具。它允许程序员...

    Java导出Word文件

    首先,Java导出Word文件通常有两种方式:一是使用Apache POI库,二是使用JODConverter库。Apache POI是广泛使用的开源库,它允许Java程序员创建、修改和显示Microsoft Office格式的文件,包括Word(.doc和.docx)。...

    Java通过word模板配置书签生成word

    "Java通过word模板配置书签生成word"是一个技术方案,它利用了Java的API来处理Microsoft Word文档,特别是Apache POI库,这是一种强大的工具,允许开发者在Java程序中创建、修改和展示MS Office格式的文件。...

    java读取word,pdf格式文档方法

    本文将介绍 Java 如何读取 Word、PDF 格式文档的几种方法。 使用 Jacob Jacob 是一个桥接工具,连接 Java 和 COM 或 Win32 函数的一个中间件。使用 Jacob 可以读取 Word 文档的内容。首先,需要下载 Jacob 的 jar ...

    POI word目录处理备忘

    2. **设置样式ID**:每个标题段落需要一个唯一的样式ID,这样Word才能正确地将它们组织成目录。可以使用`setStyleId()`方法为段落设置ID。 3. **创建目录**:使用`XWPFDocument`的`createTOC()`方法创建目录。默认...

    java给word文档插入水印并设置保护密码

    在Java编程环境中,处理Word文档是一项常见的任务,特别是在开发OA(办公自动化)系统时。本文将详细介绍如何使用Java为Word文档插入水印以及设置保护密码,以确保文档的安全性。 首先,我们需要一个能够操作...

    java操作word(包含书签插值)

    Java作为一种广泛使用的编程语言,提供了多种库来操作Word文档,实现自动化填充模板,例如书签插值,这在合同制作中非常有用。本文将详细讲解如何使用Java操作Word,特别是针对书签插值的方法,以及相关的技术和工具...

    java 根据word模板生成word 文档

    Java作为一种广泛使用的编程语言,提供了多种方法来根据Word模板生成Word文档,而Jacob库就是其中一种非常实用且功能强大的解决方案。 #### Jacob库简介 Jacob(Java and COM Bridge)是一个开源的Java类库,它...

    用java生成word文档方法

    在IT领域,特别是软件开发行业中,使用Java生成Word文档是一种常见的需求,特别是在自动化报告生成、文档模板填充等场景中。本文将深入探讨如何利用Java语言和相关库来实现这一功能,重点介绍Apache POI和一个相对...

    升级的Java2word,适用任务版本的jacob

    描述中的“升级的原版的Java2word”意味着这个版本对原始的Java2word进行了更新和优化,可能包含了性能提升、新功能的添加或者是兼容性问题的修复。特别提到了“适用任务版本的jacob”,Jacob是一个Java到COM桥接库...

    java 实现 word 文档的在线预览

    一种可能的方法是先用POI读取Word文档,然后自己编写逻辑将其转换成HTML,但这可能比较复杂,且可能无法完美保留原始格式。 Spire.Doc for Java则提供了更完整的Word处理能力,包括将Word转换为HTML的功能。这个库...

    java操作word可操作书签

    Java 操作 Word 文档,尤其是处理书签,是一种常见的需求,尤其在自动化报告生成或文档模板填充场景中。本文将详细介绍如何使用 Java 实现这一功能,避免依赖第三方库,如 Apache POI、java2word 或 jcob。 首先,...

    java Jacob完美实现word添加图片水印(内附源码及jar包)

    java Jacob完美实现word添加图片水印(内附源码及jar包)。 公司最近让搞Word文档添加水印,所有下载的文档需要添加公司印章,搞了好多天才实现,利用Jacob完美实现word添加图片水印(注意需要把dll文件放到jdk的bin...

Global site tag (gtag.js) - Google Analytics