溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Java 添加Word目錄的2種方法示例代碼詳解

發(fā)布時(shí)間:2020-09-28 18:34:41 來(lái)源:腳本之家 閱讀:346 作者:E-iceblue 欄目:編程語(yǔ)言

目錄是一種能夠快速、有效地幫助讀者了解文檔或書(shū)籍主要內(nèi)容的方式。在Word中,插入目錄首先需要設(shè)置相應(yīng)段落的大綱級(jí)別,根據(jù)大綱級(jí)別來(lái)生成目錄表。本文中生成目錄分2種情況來(lái)進(jìn)行:

1.文檔沒(méi)有設(shè)置大綱級(jí)別,生成目錄前需要手動(dòng)設(shè)置

2.文檔已設(shè)置大綱級(jí)別,通過(guò)域代碼生成目錄

使用工具:

•Free Spire.Doc for Java 2.0.0 (免費(fèi)版)
•IntelliJ IDEA

工具獲取途徑1:通過(guò)官網(wǎng)下載jar文件包,解壓并導(dǎo)入jar文件到IDEA程序。

工具獲取途徑2:通過(guò)Maven倉(cāng)庫(kù)導(dǎo)入到Maven項(xiàng)目中,參考導(dǎo)入方法。

Java示例代碼(供參考)

【示例1】手動(dòng)設(shè)置大綱級(jí)別并生成目錄

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){
  //加載測(cè)試文檔
  Document doc = new Document("test.docx");
  //在文檔最前面插入一個(gè)段落,寫(xiě)入文本并格式化
  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);
  //設(shè)置文檔中指定段落的大綱級(jí)別
  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);
 }
}

目錄生成效果:

Java 添加Word目錄的2種方法示例代碼詳解

【示例2】已設(shè)置大綱級(jí)別,通過(guò)域代碼直接生成目錄

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){
  //加載已設(shè)置大綱級(jí)別的測(cè)試文檔
  Document doc = new Document("sample.docx");
  //在文檔最前面插入一個(gè)段落,寫(xiě)入文本并格式化
  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);
  //通過(guò)域代碼添加目錄表
  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);
 }
}

目錄生成效果:

Java 添加Word目錄的2種方法示例代碼詳解

PS:關(guān)于通過(guò)域代碼生成目錄,可參考這篇文章,獲取更多目錄設(shè)置方法

總結(jié)

以上所述是小編給大家介紹的Java 添加Word目錄的2種方法示例代碼詳解,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)億速云網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI