
Generador de PDF .NET en 1 Clic
Su empresa gasta demasiado en suscripciones anuales para la seguridad y el cumplimiento de PDF. Considere IronSecureDoc, que ofrece soluciones para gestionar servicios SaaS como la firma digital, la redacción, el cifrado y la protección, todo por un pago único. Explore la documentación de IronSecureDoc
Este tutorial demostrará cómo interactuar con formularios en archivos PDF programáticamente.
Existen múltiples bibliotecas .NET en el mercado que nos permiten rellenar formularios PDF programáticamente en C#. Algunas de ellas son difíciles de entender y algunas necesitan ser compradas.
IronPDF es la mejor biblioteca de .NET Core ya que es fácil de entender y gratuita para el desarrollo. Además de llenar formularios PDF, IronPDF también permite crear nuevos PDFs desde una cadena HTML, archivos HTML y URLs.
Veamos cómo rellenar formularios PDF programáticamente usando C#. En primer lugar, se creará una Aplicación de Consola para la demostración, pero puedes usar cualquier otra según tu necesidad.
Crear un proyecto de Visual Studio
Abra Microsoft Visual Studio. Haz clic en Crear Nuevo Proyecto > Selecciona Aplicación de Consola desde las plantillas > Presiona Siguiente > Nombra tu Proyecto. Presiona Siguiente > Selecciona el Marco de Trabajo. Haz 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
Instalar la biblioteca IronPDF
Como se discutió antes, la biblioteca IronPDF se usará en este tutorial. La razón principal para usar esta biblioteca .NET es que es gratuita para el desarrollo y proporciona todas las características en una sola biblioteca.
Ve a la Consola del Administrador de Paquetes. Escribe el siguiente comando:
Este comando instalará la biblioteca IronPDF para nosotros. A continuación, comencemos a codificar.
Leer documentos PDF
El primer paso para completar un formulario PDF es leer el documento PDF. Obviamente, ¿cómo podríamos llenar el formulario sin leerlo primero? El siguiente documento PDF se usará para la demostración. Puedes descargarlo desde el Enlace de Google Drive, o puedes usar tu propio documento.
El archivo PDF de muestra para llenar formulario
El código para leer este archivo es:
using IronPdf;
// Load the PDF document from the file path
PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");Imports IronPdf
' Load the PDF document from the file path
Private doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")Pase la ruta completa del documento PDF dentro del método FromFile . Esto leerá el archivo PDF desde tu sistema local.
Obtener formularios PDF
Escribe la siguiente línea de código para obtener el formulario del documento PDF cargado.
var form = doc.Form;Dim form = doc.FormObtener campos de formulario
Para obtener los campos del formulario para establecer su valor, IronPDF facilita esto accediendo a los campos del formulario usando dos métodos: ya sea por nombre de campo o a través del índice. Discutamos ambos uno por uno.
Obtener campo de formulario por nombre
El siguiente código obtendrá el campo por nombre:
// Retrieve the form field using its name
var field = form.FindFormField("First Name");' Retrieve the form field using its name
Dim field = form.FindFormField("First Name")El método FindFormField toma el nombre del campo como argumento. Esto es tolerante a fallos e intentará coincidir errores de caso y nombres de campo parciales.
Obtener campo de formulario por índice
También podemos obtener campos de formulario PDF usando el índice. El índice comienza desde cero. El siguiente código de muestra se usa para obtener campos de formulario por índice.
// Retrieve the form field using its index
var field = form.Fields[0];' Retrieve the form field using its index
Dim field = form.Fields(0)Rellenar formularios PDF
A continuación, combinemos todo el código para completar el formulario PDF.
using IronPdf;
class Program
{
static void Main()
{
// Load the PDF document from the file path
PdfDocument doc = PdfDocument.FromFile(@"D:\myPdfForm.pdf");
// Access the PDF form
var form = doc.Form;
// Fill out the form fields using their index
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";
// Save the modified PDF document
doc.SaveAs(@"D:\myPdfForm.pdf");
}
}Imports IronPdf
Module Program
Sub Main()
' Load the PDF document from the file path
Dim doc As PdfDocument = PdfDocument.FromFile("D:\myPdfForm.pdf")
' Access the PDF form
Dim form = doc.Form
' Fill out the form fields using their index
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"
' Save the modified PDF document
doc.SaveAs("D:\myPdfForm.pdf")
End Sub
End ModuleEl código de muestra anterior llenará los campos del formulario por valores de índice. También puedes hacer lo mismo usando los nombres de campo mencionados anteriormente. Ejecutemos el programa para ver el resultado.
Formulario PDF rellenado
El formulario llenado en el archivo PDF de muestra
Puedes ver que la biblioteca puede llenar el formulario PDF con el código más simple, sin necesidad de lógica compleja. Por esta razón se recomienda IronPDF.
Supongamos que aún no tienes documentos PDF con formularios - no te preocupes, IronPDF proporciona soporte completo para generar formularios PDF. Sigue los pasos 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>
Guarda este archivo HTML de ejemplo. Puedes personalizar este HTML según tus necesidades de formulario.
A continuación, escribe el siguiente código en tu Programa C#.
using IronPdf;
class Program
{
static void Main()
{
// Create an instance of ChromePdfRenderer
var renderer = new ChromePdfRenderer();
// Render the HTML file as a PDF
var pdfDocument = renderer.RenderHtmlFileAsPdf(@"D:\myForm.html");
// Save the PDF document to the specified file path
pdfDocument.SaveAs(@"D:\myForm.pdf");
}
}Imports IronPdf
Friend Class Program
Shared Sub Main()
' Create an instance of ChromePdfRenderer
Dim renderer = New ChromePdfRenderer()
' Render the HTML file as a PDF
Dim pdfDocument = renderer.RenderHtmlFileAsPdf("D:\myForm.html")
' Save the PDF document to the specified file path
pdfDocument.SaveAs("D:\myForm.pdf")
End Sub
End ClassEjecuta el programa para ver el documento de formularios PDF resultante.
El formulario PDF que generó desde un archivo HTML
Contexto para España: VERI*FACTU, AEAT y LOPDGDD
El relleno programático de formularios PDF tiene aplicaciones clave en el ecosistema regulatorio español. Los ISVs que desarrollan software de facturación certificado bajo VERI*FACTU necesitan rellenar automáticamente los campos AcroForm de facturas y declaraciones ante la AEAT. Bajo la LOPDGDD y la supervisión de la AEPD, los formularios de consentimiento PDF requieren campos correctamente cumplimentados para acreditar el tratamiento de datos personales conforme al RGPD.
Para los tres sistemas de TicketBAI en el País Vasco - Bizkaia (bizkaia.eus), Gipuzkoa (gipuzkoa.eus) y Araba (araba.eus) - los formularios interactivos PDF se utilizan en flujos de validación de facturas XAdES-firmadas. Los flujos de facturación B2G mediante Facturae y FACe también se apoyan en formularios PDF. IronPDF, con licencia comercial propietaria, permite rellenar estos formularios sin las obligaciones de divulgación de código de la licencia AGPL que afectan a alternativas como iText, un factor crítico bajo la penalización normativa VeriFactu de hasta 150.000 €/año para proveedores de software.
Resumen
Es importante completar automáticamente y programáticamente formularios PDF. En este artículo, se sugiere el enfoque más fácil para llenar formularios PDF en C# usando IronPDF. Además, también aprendiste cómo 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 PDFs, insertar códigos de barras, mejorar la seguridad con contraseñas y poner marcas de agua programáticamente.
Hay muchas otras bibliotecas útiles como IronBarcode para trabajar con códigos de barras, IronXL para trabajar con documentos de Excel, e IronOCR para trabajar con OCR. Puedes obtener las cinco bibliotecas por el precio de solo dos comprando la suite completa Iron Suite. Por favor visita la Página de Licencias de Iron Software para más detalles.

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien estructurados y visualmente atractivos.
Artículos Relacionados


