USO DE IRONPDF

Rellenar formularios PDF mediante programación en C# (Tutorial de codificación)

Actualizado 29 de junio, 2022
Compartir:

Este tutorial mostrará cómo interactuar con formularios en archivos PDF mediante programación.

Existen múltiples librerías .NET en el mercado que nos permiten rellenar formularios PDF programáticamente en C#. Algunas son difíciles de entender y otras hay que pagarlas.

IronPDF es la mejor librería .NET Core ya que es fácil de entender y gratuita para el desarrollo. Además de rellenar Formularios PDF, IronPDF también permite crear nuevos PDF a partir de cadenas HTML, archivos HTML y URL.

Veamos cómo rellenar formularios PDF mediante programación utilizando C#. En primer lugar, se creará una Aplicación de Consola para demostración, pero puede utilizar cualquiera según sus necesidades.

Crear un proyecto de Visual Studio

Abra Microsoft Visual Studio. Pulse Crear Nuevo Proyecto > Seleccione Aplicación de Consola de las plantillas > Pulse Siguiente > Nombre su Proyecto. Pulse Siguiente > Seleccionar marco de destino. Haga clic en el botón Crear. El proyecto se creará como se muestra a continuación.

Rellenar formularios PDF mediante programación en C# (Tutorial de codificación), Figura 1: una aplicación de consola recién creada en Visual Studio

Una aplicación de consola recién creada en Visual Studio.

Instalar la biblioteca IronPDF

Como ya se ha comentado, en este tutorial se utilizará la biblioteca IronPDF. La principal razón para utilizar esta biblioteca .NET es que es gratuita para el desarrollo y proporciona todas las funciones en una única biblioteca.

Vaya a la consola del gestor de paquetes. Escribe el siguiente comando:

Install-Package IronPdf

Este comando instalará la librería IronPDF por nosotros. A continuación, comencemos la codificación.

Leer documentos PDF

El primer paso para rellenar un formulario PDF es leer el documento PDF. Obviamente, ¿cómo podríamos rellenar el formulario sin leerlo antes? Para la demostración se utilizará el siguiente documento PDF. Puede descargarlo desde aquí o puede utilizar su documento.

Rellenar formularios PDF mediante programación en C# (Tutorial de codificación), Figura 2: El archivo PDF de ejemplo para rellenar el formulario

El archivo PDF de muestra para rellenar el formulario

El código para leer este archivo es:

PdfDocument doc =  PdfDocument.FromFile(@"D:\myPdfForm.pdf");
PdfDocument doc =  PdfDocument.FromFile(@"D:\myPdfForm.pdf");
Dim doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")
VB   C#

Pase la ruta completa del documento PDF dentro de la directiva DesdeArchivo método. Esto leerá el archivo PDF de su sistema local.

Obtener formularios PDF

Escriba la siguiente línea de código para obtener el formulario del documento PDF cargado.

var form = doc.Form;
var form = doc.Form;
Dim form = doc.Form
VB   C#

Obtener campos de formulario

Para obtener los campos de formulario y establecer su valor, IronPDF lo hace muy fácil accediendo a los campos de formulario mediante dos métodos: por nombre de campo o a través del índice. Analicemos ambas cosas una por una.

Obtener campo de formulario por nombre

El siguiente código obtendrá el campo por su nombre:

var  field = form.GetFieldByName("First Name");
var  field = form.GetFieldByName("First Name");
Dim field = form.GetFieldByName("First Name")
VB   C#

En GetFieldByName toma como argumento el nombre del campo. Esto es tolerante a fallos e intentará coincidir con errores de mayúsculas y minúsculas y nombres de campo parciales.

Obtener campo de formulario por índice

También podemos obtener campos de formulario PDF utilizando el índice. El índice parte de cero. El siguiente código de ejemplo se utiliza para obtener campos de formulario por índice.

var field = form.Fields [0];
var field = form.Fields [0];
Dim field = form.Fields (0)
VB   C#

Rellenar formularios PDF

A continuación, vamos a combinar todo el código para rellenar el formulario PDF.

PdfDocument doc =  PdfDocument.FromFile(@"D:\myPdfForm.pdf");
var form = doc.Form;
form.Fields [0].Value = "John";
form.Fields [1].Value = "Smith";
form.Fields [2].Value = "+19159969739";
form.Fields [3].Value = "John@email.com";
form.Fields [4].Value = "Chicago";
doc.SaveAs(@"D:\myPdfForm.pdf");
PdfDocument doc =  PdfDocument.FromFile(@"D:\myPdfForm.pdf");
var form = doc.Form;
form.Fields [0].Value = "John";
form.Fields [1].Value = "Smith";
form.Fields [2].Value = "+19159969739";
form.Fields [3].Value = "John@email.com";
form.Fields [4].Value = "Chicago";
doc.SaveAs(@"D:\myPdfForm.pdf");
Dim doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")
Dim form = doc.Form
form.Fields (0).Value = "John"
form.Fields (1).Value = "Smith"
form.Fields (2).Value = "+19159969739"
form.Fields (3).Value = "John@email.com"
form.Fields (4).Value = "Chicago"
doc.SaveAs("D:\myPdfForm.pdf")
VB   C#

El código de ejemplo anterior rellenará los campos del formulario por valores de índice. También puede hacer lo mismo utilizando los nombres de campo mencionados anteriormente. Vamos a ejecutar el programa para ver la salida.

Formulario PDF cumplimentado

Rellenar Formularios PDF Programáticamente en C# (Tutorial de Codificación), Figura 3:

El formulario cumplimentado en el archivo PDF de muestra.

Puede ver que la biblioteca puede rellenar el formulario PDF con el código más sencillo, sin necesidad de lógica compleja. Esta es la razón por la que se recomienda IronPDF.

Supongamos que todavía no tiene ningún documento PDF con formularios - no se preocupe, IronPDF proporciona soporte completo para generar formularios PDF. Siga los pasos que se indican a continuación:

Generar un nuevo documento de formulario PDF

Crear un nuevo archivo HTML

Crea un nuevo archivo HTML y pega el siguiente código:

<!DOCTYPE html>
<html>
<body>

<h2>PDF Forms</h2>

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" ><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" ><br>
  <label for="contact">Contact #:</label><br>
  <input type="text" id="contact" name="contact" ><br>
  <label for="email">Email:</label><br>
  <input type="text" id="email" name="email"><br>
  <label for="city">City:</label><br>
  <input type="text" id="city" name="city"><br>

</form> 
</body>
</html>
<!DOCTYPE html>
<html>
<body>

<h2>PDF Forms</h2>

<form action="/action_page.php">
  <label for="fname">First name:</label><br>
  <input type="text" id="fname" name="fname" ><br>
  <label for="lname">Last name:</label><br>
  <input type="text" id="lname" name="lname" ><br>
  <label for="contact">Contact #:</label><br>
  <input type="text" id="contact" name="contact" ><br>
  <label for="email">Email:</label><br>
  <input type="text" id="email" name="email"><br>
  <label for="city">City:</label><br>
  <input type="text" id="city" name="city"><br>

</form> 
</body>
</html>
HTML

Guarde este archivo HTML de ejemplo. Puede personalizar este HTML según los requisitos de su formulario.

A continuación, escriba el siguiente código en su programa C#.

var renderer = new ChromePdfRenderer();
var file = renderer.RenderHtmlFileAsPdf(@"D:\myForm.html");
file.SaveAs(@"D:\myForm.pdf");
var renderer = new ChromePdfRenderer();
var file = renderer.RenderHtmlFileAsPdf(@"D:\myForm.html");
file.SaveAs(@"D:\myForm.pdf");
Dim renderer = New ChromePdfRenderer()
Dim file = renderer.RenderHtmlFileAsPdf("D:\myForm.html")
file.SaveAs("D:\myForm.pdf")
VB   C#

Ejecute el programa para ver el documento de formularios PDF resultante.

Rellenar formularios PDF mediante programación en C# (Tutorial de codificación), Figura 3: Formulario PDF generado a partir de un archivo HTML

El formulario PDF generado a partir de un archivo HTML

Resumen

Es importante rellenar automáticamente y mediante programación los formularios PDF. En este artículo, se sugiere el enfoque más sencillo para rellenar formularios PDF en C# utilizando IronPDF. Además, también aprendiste a generar nuevos formularios PDF desde cero.

Además, IronPDF también ofrece a los desarrolladores métodos para extraer texto y contenido de un PDF, renderizar gráficos en PDF, insertar códigos de barras, mejorar la seguridad con contraseñas y marca de agua mediante programación.

Existen otras muchas librerías útiles como IronBarcode para trabajar con códigos de barras, IronXL para trabajar con documentos Excel e IronOCR para trabajar con OCR. Puede obtener las cinco bibliotecas por el precio de sólo dos adquiriendo la Iron Suite completa. Visite la página página de licencias para más detalles.

< ANTERIOR
Cómo escanear varias páginas en un archivo PDF
SIGUIENTE >
Cómo generar PDF en ASP.NET usando C#

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123