Java 添加Word目录的2种方法示例代码详解

目录是一种能够快速、有效地帮助读者了解文档或书籍主要内容的方式。在Word中,插入目录首先需要设置相应段落的大纲级别,根据大纲级别来生成目录表。本文中生成目录分2种情况来进行:

1.文档没有设置大纲级别,生成目录前需要手动设置

2.文档已设置大纲级别,通过域代码生成目录

使用工具:

•Free Spire.Doc for Java 2.0.0 (免费版)
•IntelliJ IDEA

工具获取途径1:通过官网下载jar文件包,解压并导入jar文件到IDEA程序。

工具获取途径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);
  }
}

目录生成效果:

PS:关于通过域代码生成目录,可参考这篇文章,获取更多目录设置方法

总结

以上所述是小编给大家介绍的Java 添加Word目录的2种方法示例代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

时间: 2019-06-17

JAVA读取PDF、WORD文档实例代码

读取PDF文件jar引用 <dependency> <groupid>org.apache.pdfbox</groupid> pdfbox</artifactid> <version>1.8.13</version> </dependency> 读取WORD文件jar引用 <dependency> <groupid>org.apache.poi</groupid> poi-scratch

java实现word文件转html文件

最近在项目开发中用户提出要在电脑上没有装office时在浏览器中打开word文件,最后确定的逻辑:用户选择想要查看的文件,页面js判断文件是否为word.不是执行下载,是后端根据word文件后缀访问对应转换方法.文件已存在对应html文件直接返回html文件地址,不存在先生成对应html文件再返回地址.js直接通过open()打开新的页签,展示word文件内容.新人一枚,如果代码中存在错误或有更好的实现万望指正! 相关jar包 代码 import java.io.ByteArrayOutputS

Java实现上传文件图片到指定服务器目录

具体代码如下所示: ***web.xml*** <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xm

Java如何在不存在文件夹的目录下创建文件

核心代码如下所示: 1. String strPath = "E:\\a\\aa\\aaa.txt"; File file = new File(strPath); if(!file.exists())){ file.file.mkdirs(); } 2. String strPath = "E:\\a\\aa\\aaa.txt"; File file = new File(strPath); File fileParent = file.getParentFile

java Apache poi 对word doc文件进行读写操作

使用POI读写Word doc文件 Apache poi的hwpf模块是专门用来对word doc文件进行读写操作的.在hwpf里面我们使用HWPFDocument来表示一个word doc文档.在HWPFDocument里面有这么几个概念: Range:它表示一个范围,这个范围可以是整个文档,也可以是里面的某一小节(Section),也可以是某一个段落(Paragraph),还可以是拥有共同属性的一段文本(CharacterRun).   Section:word文档的一个小节,一个word文

java复制文件的4种方式及拷贝文件到另一个目录下的实例代码

尽管Java提供了一个可以处理文件的IO操作类. 但是没有一个复制文件的方法. 复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候. 然而有几种方法可以进行Java文件复制操作,下面列举出4中最受欢迎的方式. 1. 使用FileStreams复制 这是最经典的方式将一个文件的内容复制到另一个文件中. 使用FileInputStream读取文件A的字节,使用FileOutputStream写入到文件B. 这是第一个方法的代码: private static void copyFileU

java将一个目录下的所有数据复制到另一个目录下

本文实例为大家分享了java将一个目录下的所有数据复制到另一个目录下的具体代码,供大家参考,具体内容如下 /* 将"C:\\JavaProducts\\Source"下的所有数据复制到"C:\\Target"下 */ import java.io.*; public class JavaCopyDemo{ final static String SOURCESTRING = "C:\\JavaProducts\\Source"; final st

Java 从网上下载文件的几种方式实例代码详解

废话不多说了,直接给大家贴代码了,具体代码如下所示: package com.github.pandafang.tool; import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.nio.chan

详解SpringMVC加载配置Properties文件的几种方式

最近开发的项目使用了SpringMVC的框架,用下来感觉SpringMVC的代码实现的非常优雅,功能也非常强大, 网上介绍Controller参数绑定.URL映射的文章都很多了,写这篇博客主要总结一下SpringMVC加载配置Properties文件的几种方式 1.通过context:property-placeholde实现配置文件加载 1.1.在spring.xml中加入context相关引用 <?xml version="1.0" encoding="UTF-8&

Java实现克隆的三种方式实例总结

本文实例讲述了Java实现克隆的三种方式.分享给大家供大家参考,具体如下: 1.浅复制(浅克隆)这种浅复制,其实也就是把被复制的这个对象的一些变量值拿过来了.最后生成student2还是一个新的对象. public class CloneTest1 { public static void main(String[] args) throws Exception { Student1 student = new Student1(); student.setAge(24); student.se

IE下写xml文件的两种方式(fso/saveAs)

出于安全考虑,Firefox等浏览器不支持写本地文件. IE下可以通过以下几种方式写xml文件 方式一:fso 复制代码 代码如下: // LoadXML()见上一篇IE下读取XML var xmlDom = loadXML("config.xml"); var contentText = ""; if(typeof xmlDom.xml != 'undefined') { contentText = xmlDom.xml; var fso = new Active

linux服务器之间传输文件的四种方式

本文为大家分享了linux服务器之间传输文件的四种方式,供大家参考,具体内容如下 1. scp [优点]简单方便,安全可靠:支持限速参数  [缺点]不支持排除目录 [用法] scp就是secure copy,是用来进行远程文件拷贝的.数据传输使用 ssh,并且和ssh 使用相同的认证方式,提供相同的安全保证 . 命令格式: scp [参数] <源地址(用户名@IP地址或主机名)>:<文件路径> <目的地址(用户名 @IP 地址或主机名)>:<文件路径> 举例

java实现文件下载的两种方式

本文实例为大家分享了java实现文件下载的具体代码,供大家参考,具体内容如下 public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径. File file = new File(path); // 取得文件名. String filename = file.getName(); // 取得文件的后缀名. String ext = filena

Spring加载properties文件的两种方式实例详解

在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修改源代码,这样更加方便.在Spring中也可以这么做,而且Spring有两种加载properties文件的方式:基于xml方式和基于注解方式.下面分别讨论下这两种方式. 1. 通过xml方式加载properties文件 我们以Spring实例化dataSource为例,我们一般会在beans

简单了解java获取类的3种方式

这篇文章主要介绍了java获取类的3种方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.Class.forName("全类名") 将字节吗文件加载进内存,返回Class对象,多用于配指文件,将类名定义在配置文件中,便于利用java的反射机制生成类对象,加载类. //加载一个用户实体类UserBean Class c1 = Class.forName("com.test.UserBean"): 2.类名.c