กรอกและอ่านแบบฟอร์ม XFA โดยใช้ C#

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 โดยทางโปรแกรมโดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก โหลดไฟล์ฟอร์ม XFA โดยใช้คลาส Document
  2. รับชื่อของฟิลด์ฟอร์ม XFA ที่โหลด
  3. ตั้งค่าฟิลด์
  4. สุดท้ายให้เรียกใช้เมธอด 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 โดยใช้ C#

เราสามารถอ่านแบบฟอร์ม XFA ที่กรอกแล้วโดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก โหลดไฟล์ Excel โดยใช้คลาส Document
  2. รับชื่อของฟิลด์ฟอร์ม XFA ที่โหลด
  3. รับรายละเอียดฟิลด์แบบวนซ้ำโดยใช้เมธอด GetFieldTemplate()
  4. สุดท้าย แสดงแอตทริบิวต์ของฟิลด์

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการอ่านแบบฟอร์ม 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#

อ่านแบบฟอร์ม XFA ที่กรอกโดยใช้ C#

รับใบอนุญาตฟรี

โปรดลองใช้ API โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี

บทสรุป

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

ดูสิ่งนี้ด้วย