目錄是一種可以快速、有效地幫助讀者瞭解文檔或書籍主要內容的方式。在Word中,插入目錄首先須要設置相應段落的大綱級別,根據大綱級別來生成目錄表。本文中生成目錄分2種狀況來進行:html
1.文檔沒有設置大綱級別,生成目錄前須要手動設置java
2.文檔已設置大綱級別,經過域代碼生成目錄app
使用工具:maven
工具獲取途徑1:經過官網下載jar文件包,解壓並導入jar文件到IDEA程序。工具
工具獲取途徑2:經過Maven倉庫導入到Maven項目中,參考導入方法。測試
【示例1】手動設置大綱級別並生成目錄ui
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); } }
目錄生成效果:spa
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); } }
目錄生成效果:3d
PS:關於經過域代碼生成目錄,可參考這篇文章,獲取更多目錄設置方法code
轉載請註明出處!
(本文完)