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