Import and Export Form Data

This page shows common workflows for importing and exporting AcroForm data with Aspose.PDF for Python via .NET. All operations use the Form facade.

Import form field data from XML

Use this approach to populate a PDF form from external XML data.

  1. Create a Form object.
  2. Bind the input PDF.
  3. Open the XML data file.
  4. Import XML data into the form.
  5. Save the updated 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)

Export form field data to XML

This method exports form field values from a PDF document to XML.

  1. Create a Form object.
  2. Bind the input PDF.
  3. Open the XML output file.
  4. Export form data to 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)

Import form field data from FDF

The import_data_from_fdf method imports form field data from an FDF (Forms Data Format) file into a PDF form.

  1. Create a Form object.
  2. Bind the input PDF.
  3. Import the form data with import_fdf().
  4. Save the updated 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)

Export form field data to FDF

This example exports form data from a PDF document to an FDF file.

  1. Create a Form object.
  2. Bind the PDF document.
  3. Export form data with 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)

Import form field data from XFDF

Use this method to import form field data from an XFDF (XML Forms Data Format) file into a PDF form.

  1. Create a Form object.
  2. Bind the input PDF.
  3. Import form data from an XFDF file.
  4. Save the updated 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)

Export form field data to XFDF

This code exports form field data from a PDF document to an XFDF file.

  1. Create a Form object.
  2. Bind the input PDF.
  3. Export form data to 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)

Import data from another PDF

This example transfers form field data from a source PDF to a destination PDF by exporting XFDF to an in-memory stream and importing it into the target form.

  1. Create source and destination Form objects.
  2. Bind the source and destination PDFs.
  3. Export form data from source PDF.
  4. Import form data into destination PDF.
  5. Save the updated destination 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)

Extract Form Fields to JSON

This method exports form fields to a JSON file by using export_json().

  1. Create a Form object.
  2. Open the JSON output file.
  3. Export form fields by using 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)

Extract Form Fields to JSON Document

This example creates a custom JSON document from form field names and values.

  1. Create a Form object from the input file.
  2. Initialize an empty dictionary to store form field data.
  3. Iterate through all form fields and extract their values.
  4. Serialize the form data dictionary to a JSON string with 4-space indentation.
  5. Write the JSON string to the output file with UTF-8 encoding.
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)