AcroForms 与 XFA 表单
AcroForms 是用于在 PDF 文档中集成表单域的可填写表单。它是 Adobe 从 PDF 1.2 规范开始为 PDF 文档采用的初始表单技术。 AcroForms 允许添加表单字段作为覆盖,以从最终用户或使用文档的任何人那里收集数据。
后来,Adobe 在收购了 Accelio(一家服务提供商)后,采用了基于 XML 的 XFA 表单(XML Forms Architecture)作为 PDF 1.5 规范的一部分。 XFA 使用 XML 的功能来开发 PDF 文档中的电子表单。然而,尽管与 AcroForms 相比,XFA 是一种更新的电子表单技术,但 XFA 有一些限制,包括:
- 缺乏对各种 PDF 对象的 JavaScript 支持,
- XFA 表单只能使用 Adobe LiveCycle Forms Designer 创建,
- AcroForms 的兼容性问题,
- 缺乏从 AcroForms 到 XFA 的自动转换,
- 与 AcroForms 相比,可访问性有限,
- 需要开发人员技能来构建表单,
- 等等。
由于 AcroForms 技术被认为更易于访问和使用,接下来的部分将展示如何使用 C# 和 Java 以编程方式在 PDF 中执行 XFA 到 AcroForms 的转换。
将 XFA 转换为 AcroForms
各种 XFA 到 AcroForms 的转换工具可供您执行转换。但是,为了在您的 .NET 或 Java 应用程序中集成此功能以进行自动转换,您可以使用 Aspose.PDF。
在 C# 中将 XFA 转换为 AcroForms
以下是使用 Aspose.PDF for .NET 将 XFA 表单转换为 AcroForm 的步骤。
- 使用 Document 类加载具有 XFA 表单的 PDF 文档。
- 将 Document.Form.Type 属性设置为 FormType.Standard。
- 使用 Document.Save(string) 方法保存新文档。
以下代码示例使用 C# 将 PDF 中的 XFA 表单转换为 AcroForms。
// 使用 XFA 表单加载 PDF
Document document = new Document("XFAFormPDF.pdf");
// 将表单字段类型设置为标准 AcroForms
document.Form.Type = FormType.Standard;
// 使用 AcroForms 保存生成的 PDF
document.Save("XFA-to-AcroForms.pdf");
在 Java 中将 XFA 转换为 AcroForms
以下是使用 Aspose.PDF for Java 将 XFA 转换为 AcroForms 的步骤。
- 使用 Document 类加载带有 XFA 表单的 PDF。
- 将表单类型设置为 FormType.Standard。
- 使用 Document.save(string) 方法保存更新的文档。
以下代码示例展示了如何使用 Java 将 XFA 转换为 AcroForms。
// 使用 XFA 表单加载 PDF
Document doc = new Document("XFAFormsPDF.pdf");
// 将表单字段类型设置为标准 AcroForms
doc.getForm().setType(FormType.Standard);
// 使用 AcroForms 保存生成的 PDF
doc.save("XFA-to-AcroForms.PDF");
了解更多关于 Aspose.PDF
您可以使用 文档 了解有关 Aspose.PDF API 的更多信息。如果您有任何问题或疑问,请通过我们的 论坛 联系我们。