Modificando AcroForm

Borrar texto en el formulario

Este ejemplo muestra cómo borrar texto de los campos de formulario Typewriter en un PDF usando Aspose.PDF for Python via .NET. Escanea la primera página del PDF, identifica formularios Typewriter, elimina su contenido y guarda el documento actualizado. Este enfoque es útil para restablecer o sanitizar los campos de formulario antes de redistribuir un PDF.

  1. Cargue el documento PDF de entrada.
  2. Acceda a los formularios en la primera página.
  3. Iterar sobre cada formulario y comprobar si es un Typewriter formulario.
  4. Utilice TextFragmentAbsorber para encontrar fragmentos de texto en el formulario.
  5. Borre el texto de cada fragmento.
  6. Guarde el PDF modificado en el archivo de salida.
import aspose.pdf as ap


def clear_text_in_form(input_file_name, output_file_name):
    document = ap.Document(input_file_name)

    forms = document.pages[1].resources.forms

    for form in forms:
        if form.it == "Typewriter" and form.subtype == "Form":
            absorber = ap.text.TextFragmentAbsorber()
            absorber.visit(form)

            for fragment in absorber.text_fragments:
                fragment.text = ""

    document.save(output_file_name)

Establecer límite de campo

Usar set_field_limit(field, limit) de FormEditor para definir el número máximo de caracteres permitidos en un campo de texto.

  1. Cree un FormEditor objeto.
  2. Vincula el PDF de entrada.
  3. Establezca el límite del campo para un campo objetivo.
  4. Guarda el PDF actualizado.
import aspose.pdf as ap


def set_field_limit(input_file_name, output_file_name):
    form = ap.facades.FormEditor()
    form.bind_pdf(input_file_name)
    form.set_field_limit("First Name", 15)
    form.save(output_file_name)

Obtener límite del campo

También puedes leer el límite de caracteres de un campo de texto.

  1. Cargue el documento PDF.
  2. Accede al campo de formulario objetivo.
  3. Asegúrese de que el campo sea un TextBoxField.
  4. Leer e imprimir max_len.
import aspose.pdf as ap
from aspose.pycore import cast, is_assignable


def get_field_limit(input_file_name):
    document = ap.Document(input_file_name)
    if is_assignable(document.form[1], ap.forms.TextBoxField):
        text_box_field = cast(ap.forms.TextBoxField, document.form[1])
        print(f"Limit: {text_box_field.max_len}")

Establecer fuente personalizada para el campo del formulario

Este ejemplo establece una apariencia predeterminada personalizada para un campo de cuadro de texto, incluyendo la fuente, el tamaño y el color.

  1. Cargue el documento PDF.
  2. Acceda al campo objetivo y verifique su tipo.
  3. Buscar la fuente en FontRepository.
  4. Aplicar un nuevo DefaultAppearance.
  5. Guarda el PDF actualizado.
import aspose.pdf as ap
from aspose.pycore import cast, is_assignable


def set_form_field_font(input_file_name, output_file_name):
    document = ap.Document(input_file_name)
    if is_assignable(document.form[1], ap.forms.TextBoxField):
        text_box_field = cast(ap.forms.TextBoxField, document.form[1])
        font = ap.text.FontRepository.find_font("Calibri")
        text_box_field.default_appearance = ap.annotations.DefaultAppearance(
            font, 10, ap.Color.black.to_rgb()
        )

    document.save(output_file_name)

Eliminar campos en un formulario existente

Este código elimina un campo de formulario específico (por su nombre) de un documento PDF y guarda el archivo actualizado usando Aspose.PDF for Python via .NET.

  1. Cargue el documento PDF.
  2. Eliminar un campo de formulario por nombre.
  3. Guarda el PDF actualizado.
import aspose.pdf as ap


def delete_form_field(input_file_name, output_file_name):
    document = ap.Document(input_file_name)
    document.form.delete("First Name")
    document.save(output_file_name)

Temas relacionados