目錄是一種能夠快速、有效地幫助讀者了解文檔或書籍主要內(nèi)容的方式。在Word中,插入目錄首先需要設(shè)置相應(yīng)段落的大綱級(jí)別,根據(jù)大綱級(jí)別來生成目錄表。本文中生成目錄分2種情況來進(jìn)行:
1.文檔沒有設(shè)置大綱級(jí)別,生成目錄前需要手動(dòng)設(shè)置
2.文檔已設(shè)置大綱級(jí)別,通過域代碼生成目錄
使用工具:
•Free Spire.Doc for Java 2.0.0 (免費(fèi)版)
•IntelliJ IDEA
工具獲取途徑1:通過官網(wǎng)下載jar文件包,解壓并導(dǎo)入jar文件到IDEA程序。
工具獲取途徑2:通過Maven倉庫導(dǎo)入到Maven項(xiàng)目中,參考導(dǎo)入方法。
Java示例代碼(供參考)
【示例1】手動(dòng)設(shè)置大綱級(jí)別并生成目錄
01 | import com.spire.doc.*; |
02 | import com.spire.doc.documents.BuiltinStyle; |
03 | import com.spire.doc.documents.HorizontalAlignment; |
04 | import com.spire.doc.documents.Paragraph; |
05 | import com.spire.doc.fields.TextRange; |
08 | public static void main(String[]args){ |
10 | Document doc = new Document( "test.docx" ); |
12 | Paragraph parainserted = new Paragraph(doc); |
13 | TextRange tr= parainserted.appendText( "目 錄" ); |
14 | tr.getCharacterFormat().setBold( true ); |
15 | tr.getCharacterFormat().setTextColor(Color.gray); |
16 | doc.getSections().get( 0 ).getParagraphs().insert( 0 ,parainserted); |
17 | parainserted.getFormat().setHorizontalAlignment(HorizontalAlignment.Center); |
19 | doc.getSections().get( 0 ).getParagraphs().get( 2 ).applyStyle(BuiltinStyle.Heading_1); |
20 | doc.getSections().get( 0 ).getParagraphs().get( 3 ).applyStyle(BuiltinStyle.Heading_2); |
21 | doc.getSections().get( 0 ).getParagraphs().get( 5 ).applyStyle(BuiltinStyle.Heading_2); |
22 | doc.getSections().get( 0 ).getParagraphs().get( 7 ).applyStyle(BuiltinStyle.Heading_2); |
23 | doc.getSections().get( 0 ).getParagraphs().get( 13 ).applyStyle(BuiltinStyle.Heading_2); |
24 | doc.getSections().get( 0 ).getParagraphs().get( 14 ).applyStyle(BuiltinStyle.Heading_3); |
25 | doc.getSections().get( 0 ).getParagraphs().get( 15 ).applyStyle(BuiltinStyle.Heading_3); |
27 | doc.getSections().get( 0 ).getParagraphs().get( 0 ).appendTOC( 1 , 3 ); |
29 | doc.updateTableOfContents(); |
31 | doc.saveToFile( "AddToc.docx" ,FileFormat.Docx_2010); |
目錄生成效果

【示例2】已設(shè)置大綱級(jí)別,通過域代碼直接生成目錄
01 | import com.spire.doc.Document; |
02 | import com.spire.doc.FileFormat; |
03 | import com.spire.doc.documents.HorizontalAlignment; |
04 | import com.spire.doc.documents.Paragraph; |
05 | import com.spire.doc.fields.TableOfContent; |
06 | import com.spire.doc.fields.TextRange; |
09 | public static void main (String[] args){ |
11 | Document doc = new Document( "sample.docx" ); |
13 | Paragraph parainserted = new Paragraph(doc); |
14 | TextRange tr= parainserted.appendText( "目 錄" ); |
15 | tr.getCharacterFormat().setBold( true ); |
16 | tr.getCharacterFormat().setTextColor(Color.gray); |
17 | doc.getSections().get( 0 ).getParagraphs().insert( 0 ,parainserted); |
18 | parainserted.getFormat().setHorizontalAlignment(HorizontalAlignment.Center); |
20 | TableOfContent toc = new TableOfContent(doc, "{\\o \"1-3\" \\h \\z \\u}" ); |
21 | doc.getSections().get( 0 ).getParagraphs().get( 0 ).appendTOC( 1 , 3 ); |
22 | doc.updateTableOfContents(); |
24 | doc.saveToFile( "AddToc2.docx" , FileFormat.Docx_2010); |
目錄生成效果

PS:關(guān)于通過域代碼生成目錄,可參考這篇文章,獲取更多目錄設(shè)置方法
總結(jié)
以上所述是小編給大家介紹的Java 添加Word目錄的2種方法示例代碼詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對服務(wù)器之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!