
Adobe เปิดตัวแบบฟอร์มเชิงโต้ตอบและไดนามิกที่เรียกว่าแบบฟอร์ม XFA XFA ย่อมาจาก XML Forms Architecture แบบฟอร์ม XFA คล้ายกับไฟล์ HTML ประกอบด้วยช่องที่กรอกได้และกำหนดเค้าโครงหรือลักษณะที่ปรากฏเป็นแบบฟอร์มที่ฝังอยู่ภายในเอกสาร PDF ในบทความนี้ เราจะเรียนรู้วิธีกรอกและอ่านแบบฟอร์ม XFA โดยใช้ C#
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
C# API เพื่ออ่านและกรอกแบบฟอร์ม XFA
สำหรับการทำงานกับแบบฟอร์ม XFA PDF เราจะใช้ Aspose.PDF for .NET API ช่วยให้เราสามารถสร้าง แก้ไข แปลง แสดงผล รักษาความปลอดภัย และพิมพ์ เอกสารที่รองรับ ได้โดยไม่ต้องใช้ Adobe Acrobat โปรด ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet
PM> Install-Package Aspose.Pdf
กรอกแบบฟอร์ม XFA โดยใช้ C#
เราสามารถกรอกแบบฟอร์ม XFA โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก โหลดไฟล์ฟอร์ม XFA โดยใช้คลาส Document
- รับชื่อของฟิลด์ฟอร์ม XFA ที่โหลด
- ตั้งค่าฟิลด์
- สุดท้ายให้เรียกใช้เมธอด Save() ใช้เส้นทางของไฟล์เอาต์พุตเป็นอาร์กิวเมนต์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการกรอกแบบฟอร์ม XFA โดยใช้ C#
// ตัวอย่างโค้ดนี้สาธิตวิธีการกรอกแบบฟอร์ม XFA
// โหลดแบบฟอร์ม XFA
Document doc = new Document(@"C:\Files\PDF\FillXFAFields.pdf");
// รับชื่อของเขตข้อมูลแบบฟอร์ม XFA
string[] names = doc.Form.XFA.FieldNames;
// ตั้งค่าฟิลด์
doc.Form.XFA[names[0]] = "12345";
doc.Form.XFA[names[1]] = "24/02/2022";
doc.Form.XFA[names[2]] = "Company Name";
doc.Form.XFA[names[3]] = "Company Address";
doc.Form.XFA[names[4]] = "Company City";
doc.Form.XFA[names[5]] = "Canada";
doc.Form.XFA[names[6]] = "Alberta";
doc.Form.XFA[names[7]] = "T9S";
doc.Form.XFA[names[8]] = "+112345567";
doc.Form.XFA[names[10]] = "Mr. John Smith";
doc.Form.XFA[names[11]] = "Delivered to Company Name";
doc.Form.XFA[names[12]] = "Delivery Company Address";
doc.Form.XFA[names[13]] = "Delivery City";
doc.Form.XFA[names[17]] = "+123456789";
doc.Form.XFA[names[19]] = "Mr. Will Smith";
doc.Form.XFA[names[22]] = "57251";
// บันทึกแบบฟอร์ม
doc.Save(@"C:\Files\PDF\Filled_XFA_out.pdf");

กรอกแบบฟอร์ม XFA โดยใช้ C#
อ่านแบบฟอร์ม XFA โดยใช้ C#
เราสามารถอ่านแบบฟอร์ม XFA ที่กรอกแล้วโดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก โหลดไฟล์ Excel โดยใช้คลาส Document
- รับชื่อของฟิลด์ฟอร์ม XFA ที่โหลด
- รับรายละเอียดฟิลด์แบบวนซ้ำโดยใช้เมธอด GetFieldTemplate()
- สุดท้าย แสดงแอตทริบิวต์ของฟิลด์
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านแบบฟอร์ม XFA ที่กรอกโดยใช้ C#
// ตัวอย่างโค้ดนี้สาธิตวิธีการอ่านแบบฟอร์ม XFA ที่กรอกแล้ว
// โหลดแบบฟอร์ม XFA
Document doc = new Document(@"C:\Files\PDF\Filled_XFA_out.pdf");
// รับชื่อของเขตข้อมูลแบบฟอร์ม XFA
string[] names = doc.Form.XFA.FieldNames;
for (int count=0; count<names.Length; count++)
{
// รับรายละเอียดเขตข้อมูล
var field = doc.Form.XFA.GetFieldTemplate(names[count]);
string fieldName = doc.Form.XFA.GetFieldTemplate(names[count]).InnerText;
string fieldValue = doc.Form.XFA[names[count]];
if (!string.IsNullOrEmpty(fieldValue) && fieldValue != "0")
{
Console.WriteLine("Field Name : " + field.Attributes["name"].Value);
Console.WriteLine("Field Description : " + fieldName);
Console.WriteLine("Field Value : " + fieldValue);
Console.WriteLine();
}
}

อ่านแบบฟอร์ม XFA ที่กรอกโดยใช้ C#
รับใบอนุญาตฟรี
โปรดลองใช้ API โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ เราได้เรียนรู้วิธีกรอกแบบฟอร์ม XFA โดยไม่ต้องใช้ Adobe Writer เรายังได้เห็นวิธีการอ่านแบบฟอร์ม XFA ที่กรอกโดยทางโปรแกรมด้วย นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.PDF for .NET API ได้โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราที่ ฟอรั่ม