导入和导出表单数据
Contents
[
Hide
]
此页面展示了使用 Aspose.PDF for Python via .NET 导入和导出 AcroForm 数据的常见工作流。所有操作使用 Form 外观。
从 XML 导入表单字段数据
使用此方法从外部 XML 数据填充 PDF 表单。
- 创建一个
Form对象。 - 绑定输入 PDF。
- 打开 XML 数据文件。
- 将 XML 数据导入表单。
- 保存更新后的 PDF。
from io import FileIO
import aspose.pdf as ap
def import_data_from_xml(input_file_name, data_file_name, output_file_name):
form = ap.facades.Form()
form.bind_pdf(input_file_name)
with FileIO(data_file_name, "r") as f:
form.import_xml(f)
form.save(output_file_name)
将表单字段数据导出为 XML
此方法将 PDF 文档中的 FormField 值导出为 XML。
- 创建一个
Form对象。 - 绑定输入 PDF。
- 打开 XML 输出文件。
- 将表单数据导出为 XML。
from io import FileIO
import aspose.pdf as ap
def export_data_to_xml(input_file_name, output_file_name):
form = ap.facades.Form()
form.bind_pdf(input_file_name)
with FileIO(output_file_name, "w") as f:
form.export_xml(f)
从 FDF 导入表单字段数据
这 import_data_from_fdf 方法将表单字段数据从 FDF(Forms Data Format)文件导入到 PDF 表单中。
- 创建一个
Form对象。 - 绑定输入 PDF。
- 使用导入表单数据
import_fdf(). - 保存更新后的 PDF。
from io import FileIO
import aspose.pdf as ap
def import_data_from_fdf(input_file_name, data_file_name, output_file_name):
form = ap.facades.Form()
form.bind_pdf(input_file_name)
with FileIO(data_file_name, "r") as f:
form.import_fdf(f)
form.save(output_file_name)
导出表单字段数据到 FDF
此示例将 PDF 文档中的表单数据导出到 FDF 文件。
- 创建一个
Form对象。 - 绑定 PDF 文档。
- 导出表单数据使用
export_fdf().
from io import FileIO
import aspose.pdf as ap
def export_data_to_fdf(input_file_name, output_file_name):
form = ap.facades.Form()
form.bind_pdf(input_file_name)
with FileIO(output_file_name, "w") as f:
form.export_fdf(f)
从XFDF导入表单字段数据
使用此方法将表单字段数据从 XFDF(XML 表单数据格式)文件导入到 PDF 表单中。
- 创建一个
Form对象。 - 绑定输入 PDF。
- 从 XFDF 文件导入表单数据。
- 保存更新后的 PDF。
from io import FileIO
import aspose.pdf as ap
def import_data_from_xfdf(input_file_name, data_file_name, output_file_name):
form = ap.facades.Form()
form.bind_pdf(input_file_name)
with FileIO(data_file_name, "r") as f:
form.import_xfdf(f)
form.save(output_file_name)
导出表单字段数据到 XFDF
此代码将 PDF 文档中的表单字段数据导出到 XFDF 文件。
- 创建一个
Form对象。 - 绑定输入 PDF。
- 将表单数据导出为 XFDF。
from io import FileIO
import aspose.pdf as ap
def export_data_to_xfdf(input_file_name, output_file_name):
form = ap.facades.Form()
form.bind_pdf(input_file_name)
with FileIO(output_file_name, "w") as f:
form.export_xfdf(f)
从另一个 PDF 导入数据
此示例通过将 XFDF 导出到内存流并将其导入目标表单,将表单字段数据从源 PDF 传输到目标 PDF。
- 创建源和目标
Form对象。 - 绑定源 PDF 和目标 PDF。
- 从源 PDF 导出表单数据。
- 将表单数据导入目标 PDF。
- 保存已更新的目标 PDF。
from io import StringIO
import aspose.pdf as ap
def import_data_from_another_pdf(source_pdf_name, destination_pdf_name, output_file_name):
form_source = ap.facades.Form()
form_dest = ap.facades.Form()
form_source.bind_pdf(source_pdf_name)
form_dest.bind_pdf(destination_pdf_name)
with StringIO() as xfdf_stream:
form_source.export_xfdf(xfdf_stream)
xfdf_stream.seek(0)
form_dest.import_xfdf(xfdf_stream)
form_dest.save(output_file_name)
提取表单字段为 JSON
此方法通过使用将表单字段导出为JSON文件。 export_json().
- 创建一个
Form对象。 - 打开 JSON 输出文件。
- 通过使用导出表单字段
export_json().
from io import FileIO
import aspose.pdf as ap
def extract_form_fields_to_json(input_file_name, output_file_name):
form = ap.facades.Form(input_file_name)
with FileIO(output_file_name, "w") as json_file:
form.export_json(json_file, True)
提取表单字段为 JSON 文档
此示例从表单字段名称和值创建自定义 JSON 文档。
- 从输入文件创建 Form 对象。
- 初始化一个空字典以存储表单字段数据。
- 遍历所有表单字段并提取它们的值。
- 将表单数据字典序列化为带有 4 空格缩进的 JSON 字符串。
- 将 JSON 字符串以 UTF-8 编码写入输出文件。
import json
import aspose.pdf as ap
def extract_form_fields_to_json_doc(input_file_name, output_file_name):
form = ap.facades.Form(input_file_name)
form_data = {}
for field_name in form.field_names:
form_data[field_name] = form.get_field(field_name)
json_string = json.dumps(form_data, indent=4)
with open(output_file_name, "w", encoding="utf-8") as json_file:
json_file.write(json_string)