PDF 表单作为一种标准化的电子文档格式,广泛应用于各类在线表单、调查问卷、合同和申请表等。然而,为了提高数据处理效率和集成度,很多时候需要将 PDF 表单的数据导入到其他格式(如 FDF、XFDF 和 XML),或将外部数据导入到 PDF 表单中。本文将介绍如何使用 Spire.PDF for Java 和 Java 在 PDF 表单和 FDF、XFDF、XML 格式之间进行数据的导入和导出。
安装 Spire.PDF for Java
首先,您需要在 Java 程序中添加 Spire.Pdf.jar 文件作为依赖项。JAR 文件可以从此链接下载。如果您使用 Maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而在应用程序中导入 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.pdf</artifactId>
<version>11.3.5</version>
</dependency>
</dependencies>
Java 从 FDF、XFDF 或 XML 文件导入 PDF 表单数据
Spire.PDF for Java 提供了 PdfFormWidget.importData() 方法用于从 FDF、XFDF 或 XML 文件中导入 PDF 表单数据。详细步骤如下:
- 创建 PdfDocument 类的对象。
- 使用 PdfDocument.loadFromFile() 方法加载 PDF 文档。
- 使用 PdfDocument.getForm() 方法获取 PDF 文档的表单。
- 使用 PdfFormWidget.importData() 方法从 FDF、XFDF 或 XML 文件导入表单数据。
- 使用 PdfDocument.saveToFile() 方法保存结果文档。
- Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.fields.PdfForm;
import com.spire.pdf.widget.DataFormat;
import com.spire.pdf.widget.PdfFormWidget;
public class ImportData {
public static void main(String[] args) {
// 创建 PdfDocument 类的对象
PdfDocument pdf = new PdfDocument();
// 加载 PDF 文档
pdf.loadFromFile("表单.pdf");
// 获取文档的表单
PdfFormWidget formWidget = (PdfFormWidget)pdf.getForm();
// 从 XML 文件导入 PDF 表单数据
formWidget.importData("数据.xml", DataFormat.Xml);
// 从 FDF 文件导入 PDF 表单数据
// formWidget.importData("数据.fdf", DataFormat.Fdf);
// 从 XFDF 文件导入 PDF 表单数据
// formWidget.importData("数据.xfdf", DataFormat.X_Fdf);
// 保存生成的文档
pdf.saveToFile("输出.pdf");
// 关闭 PdfDocument 对象
pdf.close();
}
}
Java 将 PDF 表单数据导出为 FDF、XFDF 或 XML 文件
Spire.PDF for Java 还提供了 PdfFormWidget.exportData() 方法,支持将 PDF 表单数据导出为 FDF、XFDF 或 XML 文件。详细步骤如下:
- 创建 PdfDocument 类的对象。
- 使用 PdfDocument.loadFromFile() 方法加载 PDF 文档。
- 使用 PdfDocument.getForm() 方法获取 PDF 文档的表单。
- 使用 PdfFormWidget.exportData() 方法将表单数据导出为 FDF、XFDF 或 XML 文件。
- Java
import com.spire.pdf.PdfDocument;
import com.spire.pdf.widget.DataFormat;
import com.spire.pdf.widget.PdfFormWidget;
public class ExportData {
public static void main(String[] args) {
// 创建 PdfDocument 类的对象
PdfDocument pdf = new PdfDocument();
// 加载 PDF 文档
pdf.loadFromFile("表单.pdf");
// 获取文档的表单
PdfFormWidget formWidget = (PdfFormWidget)pdf.getForm();
// 将 PDF 表单数据导出到 XML 文件
formWidget.exportData("数据.xml", DataFormat.Xml, "表单");
// 将 PDF 表单数据导出到 FDF 文件
// formWidget.exportData("数据.fdf", DataFormat.Fdf, "表单");
// 将 PDF 表单数据导出到 XFDF 文件
// formWidget.exportData("数据.xfdf", DataFormat.X_Fdf, "表单");
// 关闭 PdfDocument 对象
pdf.close();
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。