Flatten Specific Fields

Contents
[ ]

Managing form fields is an important part of PDF processing workflows. Flattening fields removes interactivity by converting form elements into regular page content, while renaming fields helps standardize naming conventions for easier data handling.

  1. Initialize pdf_facades.Form() to access and manage PDF form fields.
  2. Use ‘bind_pdf()’ to attach the input document.
  3. Provide field names and call ‘flatten_field()’ to convert selected fields into static content.
  4. Call ‘flatten_all_fields()’ to remove interactivity from every form field.
  5. Define old and new field names and apply ‘rename_field()’.
  6. Save the updated PDF.
from io import FileIO
import sys
from os import path
import aspose.pdf as ap
import aspose.pdf.facades as pdf_facades

sys.path.append(path.join(path.dirname(__file__), ".."))

from config import set_license, initialize_data_dir


# Flatten specific fields
def flatten_specific_fields(infile, outfile):
    """Flatten specific fields in a PDF document."""
    # Create Form object
    pdf_form = pdf_facades.Form()

    # Bind PDF document
    pdf_form.bind_pdf(infile)

    # Flatten specific fields by their names
    fields_to_flatten = ["First Name", "Last Name"]
    for field_name in fields_to_flatten:
        pdf_form.flatten_field(field_name)

    # Save updated PDF
    pdf_form.save(outfile)