Rellenar campos en un formulario PDF

 


Ese mes os traigo un pequeño ejemplo que me hice para poder rellenar el Modelo 145 de los empleados de mi empresa de una forma automática. 

Cada año, nuestra gestoría nos envía este formulario para que entreguemos a los empleados y nos lo devuelvan completado. Para agilizar este proceso, decidí implementar un método que automatizara el llenado de los datos, generando un PDF personalizado para cada empleado.

La solución que presento hoy es una versión simplificada de este proceso. Básicamente, consiste en un control WebBrowser que permite visualizar el PDF del formulario y dos botones que facilitan la obtención y la escritura de los campos.

El primer botón, denominado "Get Form Fields", tiene la función de detectar los campos rellenables del PDF. Al hacer clic en él, se mostrará un Messagebox con el nombre de todos los campos identificados. Además, para facilitar la programación en el siguiente botón, este botón copia un fragmento de código al portapapeles que contiene los nombres de los campos identificados y las variables asociadas a sus datos de la siguiente manera:

ls_FormFields[1] = "genter_nif"

ls_FormData[1] = ""

ls_FormFields[2] = "genter_compuesto"

ls_FormData[2] = ""

ls_FormFields[3] = "genter_anyo_nacimiento"

ls_FormData[3] = ""

...

De este modo se simplifica el proceso de llenado manual de los campos mediante programación.

El segundo botón, llamado "Fill Form Fields", permite automatizar el proceso de llenado de los campos. En el ejemplo proporcionado, este botón está programado para completar el PDF del Modelo 145 adjunto, pero fácilmente podéis modificar el ejemplo para rellenar cualquier otro formulario apoyados en el primer botón.

Quiero hacer hincapié en que el modelo 145 adjunto no es una plantilla oficial con campos rellenables, sino que los he creado personalmente con los nombres que me han parecido convenientes. Sin embargo, esta adaptación ha sido de gran utilidad para agilizar el trabajo en mi empresa. Recuerda que este ejemplo es solo una muestra simplificada para ilustrar el proceso de automatización del llenado de formularios PDF. Si decides utilizarlo para tus propios formularios, asegúrate de ajustar los nombres de los campos y los datos asociados según corresponda.

Por cierto, la librería .Net que he usado para crear este ejemplo es iTextSharp(5.5.13.3) y la he compilado en .Net6, he intentado hacer lo mismo con iText7 pero sin éxito, me da un error extraño al usar la librería desde PowerBuilder como ocurre con el ejemplo de firma digital. A ver si alguien se anima y lo intenta solucionar....

En fin no me enrollo mas y os dejo como siempre el enlace de proyecto actual en GitHub:

github.com/rasanfe/pbPdfFillFormFields

Y proyecto en Visual Studio 2022:

github.com/rasanfe/PdfFillFormFields


Para los que necesiteis esta funcionalidad en versiones anteriores de PowerBuilder:

Proyecto PowerBuilder 11.5:

github.com/rasanfe/archivo/tree/main/PowerBuilder_115_b2506/pbPdfFillFormFields115

Proyecto PowerBuilder 12.6:

github.com/rasanfe/archivo/tree/main/PowerBuilder_126_b3506/pbPdfFillFormFields126

Proyecto Visual Studio Libreria NetCore 3.1 para PowerBuilder 11.5 y 12.6:

github.com/rasanfe/archivo/tree/main/Visual_Studio_2022_NetCore3.1_Comhost/PdfFillFormFields.comhost

Proyecto PowerBuilder 2019:

github.com/rasanfe/archivo/tree/main/PowerBuilder_2019_b2779/pbPdfFillFormFields2019

Proyecto PowerBuilder 2021:

github.com/rasanfe/archivo/tree/main/PowerBuilder_2021_b1509/pbPdfFillFormFields2021

Proyecto Visual Studio Libreria NetCore 3.1 para PowerBuilder 2019 y 2021:

github.com/rasanfe/archivo/tree/main/Visual_Studio_2022_NetCore3.1/PdfFillFormFields_NetCore3.1







Comentarios