Pruebas en un entorno real
Pruebe en producción sin marcas de agua.
Funciona donde lo necesites.
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 rellenarFormularios PDFironPDF 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.
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.
Una aplicación de consola recién creada en Visual Studio.
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.
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 enEnlace Google Driveo puede utilizar su documento.
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")
Pase la ruta completa del documento PDF dentro de la directivaDesdeArchivo
método. Esto leerá el archivo PDF de su sistema local.
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
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.
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")
EnGetFieldByName
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.
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)
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")
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.
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 paragenerar formularios PDF. Siga los pasos que se indican a continuación:
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>
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")
Ejecute el programa para ver el documento de formularios PDF resultante.
El formulario PDF generado a partir de un archivo HTML
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 agenerar nuevos formularios PDF desde cero.
Además, IronPDF también ofrece a los desarrolladores métodos paraextraer texto y contenido de un PDF,renderizar gráficos en PDF,insertar códigos de barras, mejorar la seguridad con contraseñas ymarca 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áginaPágina de licencias de Iron Software para más detalles.
9 productos API .NET para sus documentos de oficina