แทรกฟิลด์โดยใช้ตัวสร้างฟิลด์

ต่อไปนี้เป็นคำแนะนำทีละขั้นตอนเพื่ออธิบายซอร์สโค้ด C# ด้านล่าง ซึ่งใช้ฟีเจอร์ “แทรกฟิลด์โดยใช้ FieldBuilder” ของ Aspose.Words สำหรับ .NET อย่าลืมปฏิบัติตามแต่ละขั้นตอนอย่างระมัดระวังเพื่อให้ได้ผลลัพธ์ที่ต้องการ

ขั้นตอนที่ 1: การตั้งค่าไดเรกทอรีเอกสาร

ในโค้ดที่ให้มา คุณต้องระบุไดเร็กทอรีของเอกสารของคุณ แทนที่ค่า “YOUR DOCUMENT DIRECTORY” ด้วยเส้นทางที่เหมาะสมไปยังไดเร็กทอรีเอกสารของคุณ

string dataDir = "YOUR DOCUMENTS DIRECTORY";

ขั้นตอนที่ 2: การสร้างเอกสาร

เราเริ่มต้นด้วยการสร้างเอกสารใหม่

Document doc = new Document();

ขั้นตอนที่ 3: สร้างฟิลด์ IF โดยใช้ FieldBuilder

เราใช้คลาส FieldBuilder เพื่อสร้างฟิลด์ IF โดยมีฟิลด์ MERGEFIELD สองฟิลด์ที่ซ้อนกัน ในตัวอย่างนี้ ฟิลด์ IF จะแสดงชื่อและนามสกุลตามเงื่อนไข

FieldBuilder fieldBuilder = new FieldBuilder(FieldType.FieldIf)
     .AddArgument("left expression")
     .AddArgument("=")
     .AddArgument("right expression")
     .AddArgument(
         new FieldArgumentBuilder()
             .AddText("Firstname: ")
             .AddField(new FieldBuilder(FieldType.FieldMergeField).AddArgument("firstname")))
     .AddArgument(
         new FieldArgumentBuilder()
             .AddText("Lastname: ")
             .AddField(new FieldBuilder(FieldType.FieldMergeField).AddArgument("lastname")));

ขั้นตอนที่ 4: การแทรกฟิลด์ IF ลงในเอกสาร

เราใช้BuildAndInsert() วิธีการสร้างและแทรกฟิลด์ IF ในตำแหน่งเฉพาะในเอกสาร

Field field = fieldBuilder.BuildAndInsert(doc.FirstSection.Body.FirstParagraph);
field. Update();

ตัวอย่างซอร์สโค้ดสำหรับการแทรกฟิลด์โดยใช้ FieldBuilder กับ Aspose.Words สำหรับ .NET

// เส้นทางไปยังไดเร็กทอรีเอกสาร
string dataDir = "YOUR DOCUMENTS DIRECTORY";

// การสร้างเอกสาร
Document doc = new Document();

// การสร้างฟิลด์ IF โดยใช้ FieldBuilder
FieldBuilder fieldBuilder = new FieldBuilder(FieldType.FieldIf)
     .AddArgument("left expression")
     .AddArgument("=")
     .AddArgument("right expression")
     .AddArgument(
         new FieldArgumentBuilder()
             .AddText("Firstname: ")
             .AddField(new FieldBuilder(FieldType.FieldMergeField).AddArgument("firstname")))
     .AddArgument(
         new FieldArgumentBuilder()
             .AddText("Lastname: ")
             .AddField(new FieldBuilder(FieldType.FieldMergeField).AddArgument("lastname")));

// แทรกฟิลด์ IF ลงในเอกสาร
Field field = fieldBuilder.BuildAndInsert(doc.FirstSection.Body.FirstParagraph);
field. Update();

doc.Save(dataDir + "InsertFieldWithFieldBuilder.docx");

ในตัวอย่างนี้ เราได้สร้างเอกสารใหม่ สร้างฟิลด์ IF โดยมีฟิลด์ MERGEFIELD ที่ซ้อนกัน จากนั้นแทรกฟิลด์นั้นลงในเอกสารในตำแหน่งที่ระบุ จากนั้นเอกสารจะถูกบันทึกด้วยชื่อไฟล์เฉพาะ

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

ถาม: ตัวสร้างฟิลด์ใน Aspose.Words คืออะไร

ตอบ: ตัวสร้างฟิลด์ใน Aspose.Words เป็นเครื่องมืออันทรงพลังสำหรับการสร้างและจัดการฟิลด์ในเอกสาร Word โดยนำเสนอคุณสมบัติขั้นสูงสำหรับการสร้างและปรับแต่งฟิลด์ รวมถึงการแทรกโค้ดฟิลด์และการจัดการตัวเลือกการจัดรูปแบบ

ถาม: ฟิลด์ประเภทใดที่สามารถแทรกได้โดยใช้ตัวสร้างฟิลด์

ตอบ: ตัวสร้างฟิลด์ใน Aspose.Words ช่วยให้คุณสามารถแทรกฟิลด์ประเภทต่างๆ ลงในเอกสาร Word ได้ ต่อไปนี้คือตัวอย่างบางส่วนของประเภทฟิลด์ที่ใช้กันทั่วไป:

  • MERGEFIELD: ใช้เพื่อรวมข้อมูลจากแหล่งภายนอก
  • DATE: แสดงวันที่ปัจจุบัน
  • PAGE: แสดงหมายเลขหน้าปัจจุบัน
  • IF: อนุญาตให้กำหนดเงื่อนไขการแสดงเนื้อหาตามเงื่อนไข
  • TOC: สร้างสารบัญโดยอัตโนมัติตามสไตล์ชื่อเอกสาร

ถาม: จะปรับแต่งฟิลด์ที่แทรกด้วยตัวสร้างฟิลด์ได้อย่างไร

ตอบ: ตัวสร้างฟิลด์เสนอตัวเลือกการปรับแต่งสำหรับฟิลด์ที่แทรก คุณสามารถใช้วิธีและคุณสมบัติตัวสร้างฟิลด์เพื่อตั้งค่าตัวเลือก เช่น การจัดรูปแบบฟิลด์ อาร์กิวเมนต์ สวิตช์ และค่าเริ่มต้น ตัวอย่างเช่น คุณสามารถตั้งค่ารูปแบบวันที่ รูปแบบตัวเลข ตัวคั่นหลักพัน เป็นต้น