แทรกสารบัญในเอกสาร Word
ในบทช่วยสอนที่ครอบคลุมนี้ คุณจะได้เรียนรู้วิธีแทรกสารบัญลงในเอกสาร Word โดยใช้ Aspose.Words สำหรับ .NET เราจะแนะนำคุณตลอดกระบวนการและจัดเตรียมข้อมูลโค้ด C# ที่จำเป็นให้กับคุณ ในตอนท้ายของคู่มือนี้ คุณจะสามารถสร้างสารบัญที่มีส่วนหัวและหมายเลขหน้าที่เหมาะสมได้
ข้อกำหนดเบื้องต้น
ก่อนที่เราจะเริ่มต้น ตรวจสอบให้แน่ใจว่าคุณมีข้อกำหนดเบื้องต้นดังต่อไปนี้:
- ติดตั้งไลบรารี Aspose.Words สำหรับ .NET บนระบบของคุณ
ขั้นตอนที่ 1: สร้างเอกสารใหม่และ DocumentBuilder
ในการเริ่มต้น ให้สร้างเอกสารใหม่โดยใช้คลาส Document และเตรียมใช้งานอ็อบเจ็กต์ DocumentBuilder:
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
ขั้นตอนที่ 2: แทรกสารบัญ
จากนั้น ใช้เมธอด InsertTableOfContents ของคลาส DocumentBuilder เพื่อแทรกสารบัญ ระบุตัวเลือกการจัดรูปแบบที่ต้องการภายในวิธีการ:
builder.InsertTableOfContents("\\o \"1-3\" \\h \\z \\u");
ขั้นตอนที่ 3: เพิ่มเนื้อหาเอกสาร
หลังจากแทรกสารบัญแล้ว ให้เพิ่มเนื้อหาเอกสารจริง ตั้งค่ารูปแบบส่วนหัวที่เหมาะสมโดยใช้ StyleIdentifier:
builder.InsertBreak(BreakType.PageBreak);
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading1;
builder.Writeln("Heading 1");
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading2;
builder.Writeln("Heading 1.1");
builder.Writeln("Heading 1.2");
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading1;
builder.Writeln("Heading 2");
builder.Writeln("Heading 3");
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading2;
builder.Writeln("Heading 3.1");
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading3;
builder.Writeln("Heading 3.1.1");
builder.Writeln("Heading 3.1.2");
builder.Writeln("Heading 3.1.3");
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading2;
builder.Writeln("Heading 3.2");
builder.Writeln("Heading 3.3");
ขั้นตอนที่ 4: อัปเดตสารบัญ
สารบัญที่แทรกใหม่จะว่างเปล่าในตอนแรก หากต้องการเติมข้อมูล ให้อัปเดตฟิลด์ในเอกสาร:
doc.UpdateFields();
ขั้นตอนที่ 5: บันทึกเอกสาร
หลังจากแทรกสารบัญและอัปเดตฟิลด์แล้ว ให้บันทึกเอกสารลงในไฟล์โดยใช้วิธีบันทึกของคลาสเอกสาร:
doc.Save(dataDir + "AddContentUsingDocumentBuilder.InsertTableOfContents.docx");
ตัวอย่างซอร์สโค้ดสำหรับการแทรกสารบัญโดยใช้ Aspose.Words สำหรับ .NET
นี่คือซอร์สโค้ดที่สมบูรณ์สำหรับการแทรกสารบัญโดยใช้ Aspose.Words สำหรับ .NET:
string dataDir = "YOUR DOCUMENT DIRECTORY";
// เริ่มต้น DocumentBuilder ด้วยวัตถุ Document
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
// แทรกสารบัญ
builder.InsertTableOfContents("\\o \"1-3\" \\h \\z \\u");
// เริ่มต้นเนื้อหาเอกสารจริงในหน้าที่สอง
builder.InsertBreak(BreakType.PageBreak);
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading1;
builder.Writeln("Heading 1");
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading2;
builder.Writeln("Heading 1.1");
builder.Writeln("Heading 1.2");
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading1;
builder.Writeln("Heading 2");
builder.Writeln("Heading 3");
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading2;
builder.Writeln("Heading 3.1");
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading3;
builder.Writeln("Heading 3.1.1");
builder.Writeln("Heading 3.1.2");
builder.Writeln("Heading 3.1.3");
builder.ParagraphFormat.StyleIdentifier = StyleIdentifier.Heading2;
builder.Writeln("Heading 3.2");
builder.Writeln("Heading 3.3");
// สารบัญที่แทรกใหม่จะว่างเปล่าในตอนแรก
// จำเป็นต้องเติมข้อมูลโดยการอัปเดตฟิลด์ในเอกสาร
doc.UpdateFields();
doc.Save(dataDir + "AddContentUsingDocumentBuilder.InsertTableOfContents.docx");
บทสรุป
ยินดีด้วย! คุณได้เรียนรู้วิธีแทรกสารบัญลงในเอกสาร Word โดยใช้ Aspose.Words สำหรับ .NET เรียบร้อยแล้ว ด้วยการทำตามคำแนะนำทีละขั้นตอนนี้และใช้ซอร์สโค้ดที่ให้มา คุณสามารถสร้างสารบัญที่มีส่วนหัวและหมายเลขหน้าที่เหมาะสมสำหรับเอกสารของคุณได้แล้ว
คำถามที่พบบ่อยสำหรับการแทรกสารบัญในเอกสารคำ
ถาม: ฉันสามารถปรับแต่งลักษณะที่ปรากฏของสารบัญได้หรือไม่
ตอบ: ได้ คุณสามารถปรับแต่งลักษณะที่ปรากฏของสารบัญได้โดยการแก้ไขตัวเลือกการจัดรูปแบบที่ระบุในInsertTableOfContents
วิธี. พารามิเตอร์ช่วยให้คุณควบคุมหมายเลขหน้า การเยื้อง และสไตล์อื่นๆ
ถาม: จะเกิดอะไรขึ้นหากฉันต้องการรวมระดับหัวเรื่องเฉพาะเจาะจงในสารบัญ
ตอบ: คุณสามารถระบุระดับหัวเรื่องที่ต้องการรวมไว้ในสารบัญได้โดยการปรับค่าภายในInsertTableOfContents
วิธี. เช่น การใช้"\\o \"1-3\""
จะรวมส่วนหัวระดับ 1 ถึง 3
ถาม: ฉันสามารถอัปเดตสารบัญโดยอัตโนมัติได้หรือไม่หากฉันเปลี่ยนแปลงเนื้อหาเอกสาร
ตอบ: ได้ คุณสามารถอัปเดตสารบัญได้โดยอัตโนมัติโดยการโทรไปที่UpdateFields
วิธีการในเอกสาร เพื่อให้แน่ใจว่าการเปลี่ยนแปลงใดๆ ที่เกิดขึ้นกับเนื้อหาเอกสาร เช่น การเพิ่มหรือการลบส่วนหัว จะสะท้อนให้เห็นในสารบัญ
ถาม: ฉันจะจัดรูปแบบระดับหัวข้อในสารบัญให้แตกต่างออกไปได้อย่างไร
ตอบ: คุณสามารถจัดสไตล์ระดับหัวเรื่องให้แตกต่างกันได้โดยใช้สไตล์ย่อหน้าที่แตกต่างกันสำหรับหัวเรื่องแต่ละระดับ โดยมอบหมายงานต่างๆStyleIdentifier
ค่าให้กับParagraphFormat
ของDocumentBuilder
คุณสามารถสร้างสไตล์ที่แตกต่างกันสำหรับส่วนหัวแต่ละระดับได้
ถาม: เป็นไปได้ไหมที่จะเพิ่มการจัดรูปแบบเพิ่มเติมให้กับส่วนหัวในสารบัญ
ตอบ: ได้ คุณสามารถเพิ่มการจัดรูปแบบเพิ่มเติมให้กับส่วนหัวในสารบัญได้ เช่น สไตล์ฟอนต์ สี หรือคุณสมบัติอื่นๆ โดยการปรับFont
คุณสมบัติของDocumentBuilder
คุณสามารถใช้การจัดรูปแบบแบบกำหนดเองกับส่วนหัวได้