Docx4j开发手册-8|Docx4j的目录
一、前言
本文将介绍,使用Docx4j自带的目录生成器进行目录生成。使用目录生成器生成时,存在以下几个问题,需特别注意
- 目录中的样式无法自定义,需要提前在Styles中配置好
- 目录生成时,页码需要依赖其他插件或服务(后面将讲解)
- 目录时不能自定义插入文字,需要生成StdBlock对象后,再在StdBlock中插入自定义的段落
二、引入页号相关依赖
1 | <!-- docx4j目录页号生成所需依赖 --> |
页号生成共有两种方式,
第一种是引用docx4j-export-fo将docx文件到为PDF,进行页号的计算
第二种是引用Documents4j(它利用 Microsoft Office 的本机 API,通过启动 Microsoft Office 进程来执行文档转换。),通过本地服务,来进行页号计算,这个方法
第二种方式查阅相关文章后发现,可能需要本地拥有Office才可以正常使用。
三、生成目录对象
1 | /** |
3.1 generateToc方法解析
1 | generateToc(0, TocHelper.DEFAULT_TOC_INSTRUCTION, false); |
- 参数1为插入的段落索引
- 数2为目录生成指令(参考OpenXml标准)
- 参数3为是否跳过页号生成,为false时,必须引入章节二中的依赖
此处注意,文档中已经存在目录后,不能使用generateToc方法需要使用updataToc方法