Cómo rellenar un formulario PDF en Python (Tutorial)

Chaknith Bin
Chaknith Bin
4 de junio, 2023
Actualizado 13 de enero, 2025
Compartir:
This article was translated from English: Does it need improvement?
Translated
View the article in English

En lugar de rellenar manualmente los campos PDF uno a uno, en este artículo nos centraremos en rellenar PDFs mediante programación. Este enfoque resulta útil cuando la interfaz de usuario de una aplicación mejora la experiencia del usuario, pero los archivos PDF deben generarse electrónicamente con fines de archivo.

Una vez recopilados todos los datos de entrada del usuario, es necesario crear formularios PDF mediante programación. Estos documentos cumplimentados pueden guardarse para su uso futuro o modificarse según sea necesario. Hay varias librerías PDF de Python disponibles para trabajar con PDFs, incluyendo PyPDF2, ReportLab, IronPDF, y más. En este artículo, exploraremos específicamente cómo utilizar IronPDF para rellenar formularios interactivos.

IronPDF una biblioteca de Python

IronPDF es una potente biblioteca PDF diseñada para desarrolladores Python, que les proporciona un enfoque directo para crear, editar y manipular documentos PDF dentro de sus scripts Python.

Los desarrolladores pueden aprovechar el completo conjunto de funciones de IronPDF, que incluye capacidades para manipular texto e imágenes, cifrar documentos e implementar firmas digitales. Utilizando IronPDF, los desarrolladores pueden generar eficazmente documentos PDF de primera calidad, aumentando así el valor y la eficacia de sus proyectos Python.

Instalar IronPDF mediante Pip

La librería IronPDF puede añadirse mediante pip. Utilice el siguiente comando para instalar IronPDF mediante pip:

 pip install ironpdf

Ahora puede utilizar IronPDF con su script Python.

Uso de código Python para rellenar documentos PDF mediante programación

A continuación se muestra un fragmento de código ilustrativo que muestra la utilización de la biblioteca IronPDF para crear y completar formularios PDF usando marcado HTML. El código proporcionado importa las clases esenciales de la biblioteca IronPDF.

from ironpdf import *

# Create a PDF with editable forms from HTML using form and input tags
form_html = """
<html>
<body>
<h2>Editable PDF Form</h2>
<form>
First name: <br> <input type='text' name='firstname' value=''> <br>
Last name: <br> <input type='text' name='lastname' value=''>
</form>
</body>
</html>
"""

# Instantiate Renderer
renderer = ChromePdfRenderer()
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
renderer.RenderHtmlAsPdf(form_html).SaveAs("BasicForm.pdf")

# Read and Write PDF form values
form_document = PdfDocument.FromFile("BasicForm.pdf")

# Set and Read the value of the "firstname" field
first_name_field = form_document.Form.FindFormField("firstname")
first_name_field.Value = "Minnie"
print("FirstNameField value: {}".format(first_name_field.Value))

# Set and Read the value of the "lastname" field
last_name_field = form_document.Form.FindFormField("lastname")
last_name_field.Value = "Mouse"
print("LastNameField value: {}".format(last_name_field.Value))

form_document.SaveAs("FilledForm.pdf")
PYTHON

Primero, generamos un formulario PDF convirtiendo un formulario HTML marcado utilizando el método PdfDocument.RenderHtmlAsPdf. El atributo RenderingOptions se utiliza para establecer CreatePdfFormsFromHtml en true, lo que hace que el formulario dentro del marcado HTML sea editable. El PDF resultante se guarda en la ubicación de salida especificada utilizando el método SaveAs.

Salida

Python Fill Pdf Form 1 related to Salida

En segundo lugar, cargamos el PDF creado utilizando el método PdfDocument.FromFile. Al utilizar el método FindFormField, accedemos a los campos del formulario especificados según sus respectivos nombres. Para llenar los campos de entrada de nombre y apellido, asignamos valores a sus atributos Value. Finalmente, el PDF modificado se guarda en un nuevo archivo utilizando el método SaveAs.

Salida

Python Fill Pdf Form 2 related to Salida

Resumen

En conclusión, IronPDF destaca como una biblioteca Python fiable y eficiente para la manipulación de documentos PDF. Con su excepcional capacidad para rellenar formularios PDF mediante programación, se convierte en un activo inestimable para automatizar los flujos de trabajo de procesamiento de documentos.

IronPDF ofrece una versión de prueba gratuita que permite a los usuarios explorar sus funciones antes de comprometerse. Además, ofrece opciones de licencia que son tanto asequibles como flexibles, con paquetes a partir de $749.

Chaknith Bin
Ingeniero de software
Chaknith trabaja en IronXL e IronBarcode. Tiene una gran experiencia en C# y .NET, ayudando a mejorar el software y a apoyar a los clientes. Sus conocimientos de las interacciones con los usuarios contribuyen a mejorar los productos, la documentación y la experiencia general.