Copiar campo externo

Contents
[ ]

A veces, los formularios PDF requieren reutilizar campos de un documento en otro. Usando Aspose.PDF for Python, los desarrolladores pueden copiar programáticamente los campos de formulario de un PDF de origen a un PDF de destino.

El FormEditor la clase proporciona el método ‘copy_outer_field’, que copia un campo de un documento de origen a un documento de destino en una página y coordenadas especificadas.

El código crea un nuevo PDF (destino), agrega una página y luego copia un campo de un PDF existente (origen) al documento de destino en coordenadas especificadas.

  1. Crear un nuevo documento PDF de destino.
  2. Agregue al menos una página al PDF de destino.
  3. Guarde el documento de destino vacío.
  4. Cree un objeto FormEditor y vincúlelo al PDF de destino.
  5. Copie el campo ‘First Name’ del PDF fuente a la página 1 en (200, 600).
  6. Guardar el PDF de destino actualizado.
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


def copy_outer_field(infile, outfile):
    # Since copy_outer_field() method needs to copy field from source document to target document, we need to create a new document as target document first.
    doc = ap.Document()
    doc.pages.add()
    doc.save(outfile)

    # Create FormEditor object
    form_editor = pdf_facades.FormEditor()
    # Bind document to FormEditor
    form_editor.bind_pdf(outfile)
    # Copies an existing field to a new position specified by both page number and ordinates.
    # A new document will be produced, which contains everything the source document has except for the newly copied field.
    form_editor.copy_outer_field(infile, "First Name", 1, 200, 600)
    # Save updated document
    form_editor.save(outfile)

Tenga en cuenta:

La firma del método ‘copy_outer_field’ se ve así:

copy_outer_field(original_field_name, new_field_name, page_number, x, y)
  • ‘original_field_name’ – el campo que desea duplicar.
  • ’new_field_name’ – el nombre del nuevo campo.
  • ‘page_number’ – la página en la que aparecerá el nuevo campo.
  • x, y – coordenadas en esa página.

Se espera que page_number sea un entero positivo que corresponda a una página existente en el PDF (indexación basada en 1).

Si pasa un parámetro negativo, p. ej.:

form_editor.copy_outer_field("First Name", "First Name Copy", 1, -200, 600)

El programa entonces restablecerá los parámetros anteriores.