
Adobe 引入了一种称为 XFA 表单的交互式动态表单。 XFA 代表 XML 表单架构。 XFA 表单类似于 HTML 文件。它包含可填写的字段,并将布局或外观确定为嵌入在 PDF 文档中的表单。在本文中,我们将学习如何使用 C# 填写和读取 XFA 表单。
本文将涵盖以下主题:
用于读取和填写 XFA 表单的 C# API
为了使用 XFA PDF 表单,我们将使用 Aspose.PDF for .NET API。它允许我们在不使用 Adobe Acrobat 的情况下生成、修改、转换、渲染、保护和打印 支持的文档。请下载 API 的 DLL 或使用 NuGet 安装它。
PM> Install-Package Aspose.Pdf
使用 C# 填写 XFA 表单
我们可以按照以下步骤以编程方式填写 XFA 表格:
以下代码示例展示了如何使用 C# 填写 XFA 表单。
// 此代码示例演示如何填写 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");

使用 C# 填写 XFA 表单。
使用 C# 读取 XFA 表单
我们可以按照以下步骤阅读填写好的 XFA 表格:
- 首先,使用 Document 类加载一个 Excel 文件。
- 获取加载的 XFA 表单字段的名称。
- 在循环中,使用 GetFieldTemplate() 方法获取字段详细信息。
- 最后,显示字段属性。
下面的代码示例展示了如何使用 C# 读取填充的 XFA 表单。
// 此代码示例演示如何读取已填写的 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();
}
}

使用 C# 阅读已填写的 XFA 表单。
获得免费许可证
请通过请求 免费的临时许可证 来尝试不受评估限制的 API。
结论
在本文中,我们学习了如何在不使用 Adobe writer 的情况下填写 XFA 表单。我们还看到了如何以编程方式读取已填写的 XFA 表单。此外,您可以使用 文档 了解更多关于 Aspose.PDF for .NET API 的信息。如有任何歧义,请随时在 论坛 上与我们联系。