การสร้างสารบัญที่สามารถนำทางได้เป็นสิ่งสำคัญเมื่อสร้างรายงาน Word ขนาดใหญ่หรือคู่มือที่ผู้ใช้ต้องการสแกนอย่างรวดเร็ว Conholdate.Total for Java มี SDK ที่แข็งแกร่งซึ่งทำให้การทำงานกับไฟล์ DOCX จากแอปพลิเคชัน Java ง่ายขึ้น ในคู่มือขั้นตอนนี้คุณจะได้เรียนรู้วิธีเพิ่มสารบัญลงในเอกสาร Word ด้วย Java รวมถึงการตั้งค่า คำอธิบายโค้ด และแนวปฏิบัติที่ดีที่สุด

ตัวอย่างทำงานเต็มสำหรับการเพิ่มสารบัญในเอกสาร Word ด้วย Java

ตัวอย่างต่อไปนี้แสดงวิธีการแทรกสารบัญลงในไฟล์ DOCX ที่มีอยู่โดยใช้ Conholdate.Total for Java.

import com.groupdocs.words.Document;
import com.groupdocs.words.DocumentBuilder;
import com.groupdocs.words.TableOfContentsOptions;
import com.groupdocs.words.SaveFormat;
import com.groupdocs.words.TabLeader;

public class AddTableOfContentsExample {
    public static void main(String[] args) throws Exception {
        // Paths to the source and destination Word documents
        String inputPath = "input.docx";
        String outputPath = "output.docx";

// Load the existing document, add a TOC, and save the result
        try (Document doc = new Document(inputPath)) {
            DocumentBuilder builder = new DocumentBuilder(doc);

// Move cursor to the beginning of the document where the TOC will be inserted
            builder.moveToDocumentStart();

// Configure TOC options
            TableOfContentsOptions tocOptions = new TableOfContentsOptions();
            tocOptions.setUpperHeadingLevel(1);          // Include headings from level 1
            tocOptions.setLowerHeadingLevel(3);          // up to level 3
            tocOptions.setRightAlignPageNumbers(true);  // Align page numbers to the right
            tocOptions.setUseHyperlinks(true);           // Make entries clickable
            tocOptions.setTabLeader(TabLeader.DOTS);     // Use dotted leader

// Insert the Table of Contents
            builder.insertTableOfContents(tocOptions);

// Save the modified document
            doc.save(outputPath, SaveFormat.DOCX);
        }
    }
}

หมายเหตุ: ตัวอย่างโค้ดนี้แสดงการทำงานหลัก ก่อนนำไปใช้ในโครงการของคุณ โปรดตรวจสอบให้แน่ใจว่าได้อัปเดตเส้นทางไฟล์ (input.docx, output.docx, เป็นต้น) ให้ตรงกับตำแหน่งไฟล์จริงของคุณ ตรวจสอบว่าขึ้นตอนการพึ่งพาทั้งหมดได้ติดตั้งอย่างถูกต้องแล้ว และทำการทดสอบอย่างละเอียดในสภาพแวดล้อมการพัฒนา หากคุณพบปัญหาใด ๆ โปรดอ้างอิงที่ เอกสารอย่างเป็นทางการ หรือ ติดต่อทีม สนับสนุน เพื่อขอความช่วยเหลือ.

ทำความเข้าใจการเพิ่มสารบัญในเอกสาร Word ด้วยโค้ด Java

ด้านล่างเป็นการสรุปขั้นตอนหลักที่ดำเนินการโดยโค้ดตัวอย่าง:

  1. โหลดเอกสารต้นฉบับ - คลาส Document อ่านไฟล์ DOCX ที่มีอยู่.
try (Document doc = new Document(inputPath)) {
  1. สร้าง DocumentBuilder - DocumentBuilder มีเมธอดสำหรับแก้ไขเนื้อหาเอกสาร.
DocumentBuilder builder = new DocumentBuilder(doc);
  1. กำหนดตำแหน่งเคอร์เซอร์ - moveToDocumentStart() ย้ายตำแหน่งแทรกไปยังจุดเริ่มต้นของไฟล์อย่างสมบูรณ์ เพื่อให้สารบัญ (TOC) ปรากฏก่อนเนื้อหาใด ๆ.
builder.moveToDocumentStart();
  1. กำหนดค่าตัวเลือก TOC - TableOfContentsOptions ให้คุณกำหนดระดับหัวข้อ, การจัดตำแหน่งหมายเลขหน้า, การใช้ไฮเปอร์ลิงก์, และสไตล์ของตัวนำแท็บ.
TableOfContentsOptions tocOptions = new TableOfContentsOptions();
tocOptions.setUpperHeadingLevel(1);
tocOptions.setLowerHeadingLevel(3);
tocOptions.setRightAlignPageNumbers(true);
tocOptions.setUseHyperlinks(true);
tocOptions.setTabLeader(TabLeader.DOTS);

อ้างอิง API อย่างละเอียดพร้อมใช้งานที่หน้า API Reference .

  1. แทรกสารบัญและบันทึก - insertTableOfContents เพิ่มฟิลด์ และ doc.save เขียนไฟล์ที่อัปเดตในรูปแบบ DOCX.
builder.insertTableOfContents(tocOptions);
doc.save(outputPath, SaveFormat.DOCX);

การติดตั้งและกำหนดค่า Conholdate.Total for Java

เพิ่มที่เก็บ Maven ของ Conholdate และการพึ่งพา SDK ลงในไฟล์ pom.xml ของคุณ:

<repositories>
    <repository>
        <id>conholdate-repo</id>
        <name>Conholdate Maven Repository</name>
        <url>https://repository.conholdate.com/repo/</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.conholdate</groupId>
    <artifactId>conholdate-total</artifactId>
    <version>24.9</version>
    <type>pom</type>
</dependency>

ดาวน์โหลดแพ็กเกจ SDK ล่าสุดจาก หน้าดาวน์โหลด. SDK ต้องการ Java 8 หรือสูงกว่าและทำงานบน JVM มาตรฐานใดก็ได้ ไม่จำเป็นต้องมีส่วนประกอบ runtime เพิ่มเติม.

แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างสารบัญ Word ด้วย Java

  • ใช้สไตล์หัวเรื่องที่สอดคล้องกัน - TOC จะดึงย่อหน้าที่มีสไตล์หัวเรื่องที่สร้างไว้ล่วงหน้า (Heading 1, Heading 2, ฯลฯ) ตรวจสอบให้แน่ใจว่าเอกสารต้นฉบับของคุณใช้สไตล์เหล่านี้เพื่อการสร้างรายการที่เชื่อถือได้.
  • จำกัดความลึกของหัวเรื่อง - การรวมระดับมากเกินไปอาจทำให้ TOC ใช้งานยาก รายงานทั่วไปใช้ระดับ 1‑3 ตามที่แสดงในตัวอย่าง.
  • เปิดใช้งานไฮเปอร์ลิงก์ - การตั้งค่า setUseHyperlinks(true) จะสร้างรายการที่คลิกได้ ช่วยปรับปรุงการนำทางในเอกสารสุดท้าย.
  • ตรวจสอบหลังการแทรก - เปิดไฟล์ DOCX ที่สร้างขึ้นและอัปเดตฟิลด์ (Ctrl +A, F9) เพื่อยืนยันว่าหน้า ตัวเลข ถูกต้อง โดยเฉพาะหลังจากทำการแก้ไขเพิ่มเติม.
  • ใช้วัตถุตัวเลือก TOC ซ้ำ - หากคุณสร้างเอกสารหลายไฟล์ในชุดเดียว ให้กำหนดค่าตัวเลือกเพียงครั้งเดียวและใช้ซ้ำเพื่อลดภาระการสร้างวัตถุ.

สรุป

การเพิ่มสารบัญลงในเอกสาร Word ด้วย Java กลายเป็นเรื่องง่ายด้วย Conholdate.Total for Java. โดยการโหลดไฟล์ DOCX, กำหนดค่า TableOfContentsOptions และแทรกฟิลด์, คุณสามารถอัตโนมัติการสร้างรายงานและคู่มือระดับมืออาชีพได้ จำไว้ว่าต้องติดตั้ง SDK, ปฏิบัติตามคำแนะนำแนวปฏิบัติที่ดีที่สุด, และทดสอบสารบัญที่สร้างขึ้นในสภาพแวดล้อมเป้าหมายของคุณ สำหรับการใช้งานในผลิตภัณฑ์จริงคุณจะต้องมีสำเนาที่มีลิขสิทธิ์; รายละเอียดราคาอยู่ใน หน้าราคา และคุณสามารถรับใบอนุญาตชั่วคราวจาก หน้าลิขสิทธิ์ชั่วคราว.

คำถามที่พบบ่อย

  • วิธีที่ง่ายที่สุดในการเพิ่มสารบัญลงในเอกสาร Word ด้วย Java คืออะไร?
    ใช้ DocumentBuilder.moveToDocumentStart() ตามด้วย insertTableOfContents พร้อมกับอ็อบเจกต์ TableOfContentsOptions ที่กำหนดค่าไว้ ตามที่แสดงในตัวอย่างโค้ด

  • ฉันจะควบคุมระดับหัวข้อที่ปรากฏใน TOC ได้อย่างไร?
    ตั้งค่า setUpperHeadingLevel และ setLowerHeadingLevel บนอินสแตนซ์ TableOfContentsOptions เพื่อรวมเฉพาะระดับที่ต้องการเท่านั้น.

  • สามารถสร้างสารบัญ (TOC) สำหรับเทมเพลต Word ที่จะเติมข้อมูลในภายหลังได้หรือไม่?
    ใช่. แทรกสารบัญลงในไฟล์เทมเพลตก่อนที่จะเติมเนื้อหาแบบไดนามิก; สารบัญจะอ้างอิงหัวข้อที่เพิ่มในภายหลังโดยอัตโนมัติ.

  • ฉันต้องการการเชื่อมต่ออินเทอร์เน็ตเพื่อใช้ SDK นี้หรือไม่?
    ไม่. Conholdate.Total for Java เป็นไลบรารีที่ทำงานในเครื่องของคุณบนเซิร์ฟเวอร์หรือเดสก์ท็อปโดยไม่ต้องเรียกบริการภายนอก

อ่านเพิ่มเติม