Cómo crear formularios PDF

por Chaknith

IronPDF ofrece un amplio conjunto de funciones de creación de formularios. Admite varios tipos de elementos de formulario, como campos de entrada, áreas de texto, casillas de verificación, cuadros combinados y botones de opción. Con IronPDF, puede generar fácilmente formularios PDF dinámicos que permitan a los usuarios interactuar con el documento rellenando los campos del formulario, realizando selecciones y guardando los cambios. Esto le permite crear formularios PDF interactivos y fáciles de usar para una amplia gama de aplicaciones y escenarios.



Biblioteca NuGet C# para PDF

Instalar con NuGet

Install-Package IronPdf
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Crear formularios

IronPDF crea sin esfuerzo documentos PDF con campos de formulario incrustados de varios tipos. Al añadir elementos de formulario dinámicos a un documento PDF que de otro modo sería estático, puede mejorar su flexibilidad e interactividad.

Área de texto y formularios de entrada

Renderizar desde HTML

Puede crear fácilmente áreas de texto y formularios de entrada para capturar las entradas de los usuarios dentro de sus documentos PDF. Los formularios de área de texto ofrecen un amplio espacio para mostrar y capturar grandes cantidades de texto, mientras que los formularios de entrada permiten a los usuarios introducir valores o respuestas específicos.

:path=/static-assets/pdf/content-code-examples/how-to/create-forms-input-textarea.cs
using IronPdf;

//  Formularios de entrada y área de texto HTML
string FormHtml = @"
<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=''> <br>
            Address: <br> <textarea name='address' rows='4' cols='50'></textarea>
        </form>
    </body>
</html>
";

//  Instanciar renderizador
ChromePdfRenderer Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("textAreaAndInputForm.pdf");
Imports IronPdf

'  Formularios de entrada y área de texto HTML
Private FormHtml As String = "
<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=''> <br>
            Address: <br> <textarea name='address' rows='4' cols='50'></textarea>
        </form>
    </body>
</html>
"

'  Instanciar renderizador
Private Renderer As New ChromePdfRenderer()
Renderer.RenderingOptions.CreatePdfFormsFromHtml = True

Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("textAreaAndInputForm.pdf")
VB   C#

Documento PDF de salida

Añadir formulario de texto mediante código

El ejemplo de código anterior se refiere a la representación de HTML que contiene áreas de texto y formularios de entrada. Sin embargo, también es posible añadir un campo de formulario de texto mediante código. Primero, instancie un objeto TextFormField con los parámetros requeridos. A continuación, utilice el método Add de la propiedad Form para añadir el formulario creado.

:path=/static-assets/pdf/content-code-examples/how-to/create-forms-add-input-textarea.cs
using IronPdf;
using IronSoftware.Forms;

//  Instanciar ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h2>Editable PDF Form</h2>");

//  Configure los parámetros necesarios
string name = "firstname";
string value = "first name";
int pageIndex = 0;
double x = 100;
double y = 700;
double width = 50;
double height = 15;

//  Crear campo de formulario de texto
var textForm = new TextFormField(name, value, pageIndex, x, y, width, height);

//  Añadir formulario
pdf.Form.Add(textForm);

pdf.SaveAs("addTextForm.pdf");
Imports IronPdf
Imports IronSoftware.Forms

'  Instanciar ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h2>Editable PDF Form</h2>")

'  Configure los parámetros necesarios
Private name As String = "firstname"
Private value As String = "first name"
Private pageIndex As Integer = 0
Private x As Double = 100
Private y As Double = 700
Private width As Double = 50
Private height As Double = 15

'  Crear campo de formulario de texto
Private textForm = New TextFormField(name, value, pageIndex, x, y, width, height)

'  Añadir formulario
pdf.Form.Add(textForm)

pdf.SaveAs("addTextForm.pdf")
VB   C#

Documento PDF de salida

Tener un campo de formulario de texto en un PDF sin etiqueta puede no tener mucho sentido. Para aumentar su utilidad, debe añadir texto al PDF como etiqueta del campo del formulario. IronPdf lo tiene cubierto. Puedes conseguirlo utilizando el método DrawText. Más información Cómo dibujar texto y mapas de bits en PDF.


Formularios Checkbox y Combobox

Renderizar desde HTML

Del mismo modo, los formularios de casillas de verificación y combobox se pueden crear renderizando a partir de una cadena HTML, archivo o URL web que contenga casillas de verificación y combobox. Establezca la propiedad CreatePdfFormsFromHtml a true para permitir la creación de estos formularios.

Los formularios Combobox ofrecen a los usuarios una selección desplegable de opciones. Los usuarios pueden elegir entre las opciones disponibles, ofreciendo valiosas aportaciones dentro de los documentos PDF.

:path=/static-assets/pdf/content-code-examples/how-to/create-forms-checkbox-combobox.cs
using IronPdf;

//  Formularios de entrada y área de texto HTML
string FormHtml = @"
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <h2>Task Completed</h2>
        <label>
            <input type='checkbox' id='taskCompleted' name='taskCompleted'> Mark task as completed
        </label>

        <h2>Select Priority</h2>
        <label for='priority'>Choose priority level:</label>
        <select id='priority' name='priority'>
            <option value='high'>High</option>
            <option value='medium'>Medium</option>
            <option value='low'>Low</option>
        </select>
    </body>
</html>
";

//  Instanciar renderizador
ChromePdfRenderer Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("checkboxAndComboboxForm.pdf");
Imports IronPdf

'  Formularios de entrada y área de texto HTML
Private FormHtml As String = "
<html>
    <body>
        <h2>Editable PDF Form</h2>
        <h2>Task Completed</h2>
        <label>
            <input type='checkbox' id='taskCompleted' name='taskCompleted'> Mark task as completed
        </label>

        <h2>Select Priority</h2>
        <label for='priority'>Choose priority level:</label>
        <select id='priority' name='priority'>
            <option value='high'>High</option>
            <option value='medium'>Medium</option>
            <option value='low'>Low</option>
        </select>
    </body>
</html>
"

'  Instanciar renderizador
Private Renderer As New ChromePdfRenderer()
Renderer.RenderingOptions.CreatePdfFormsFromHtml = True

Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("checkboxAndComboboxForm.pdf")
VB   C#

Documento PDF de salida

Añadir formulario mediante código

Casilla de verificación

Para añadir un campo de formulario checkbox, primero instancie un objeto CheckboxFormField con los parámetros requeridos. El parámetro valor de la casilla de verificación determinará si el formulario debe estar marcado o no, con valor "no" para no marcado y valor "sí" para marcado. Por último, utilice el método Add de la propiedad Form para añadir el formulario creado.

:path=/static-assets/pdf/content-code-examples/how-to/create-forms-add-checkbox.cs
using IronPdf;
using IronSoftware.Forms;

//  Instanciar ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h2>Checkbox Form Field</h2>");

//  Configure los parámetros necesarios
string name = "checkbox";
string value = "no";
int pageIndex = 0;
double x = 100;
double y = 700;
double width = 15;
double height = 15;

//  Crear campo de formulario de casilla de verificación
var checkboxForm = new CheckboxFormField(name, value, pageIndex, x, y, width, height);

//  Añadir formulario
pdf.Form.Add(checkboxForm);

pdf.SaveAs("addCheckboxForm.pdf");
Imports IronPdf
Imports IronSoftware.Forms

'  Instanciar ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h2>Checkbox Form Field</h2>")

'  Configure los parámetros necesarios
Private name As String = "checkbox"
Private value As String = "no"
Private pageIndex As Integer = 0
Private x As Double = 100
Private y As Double = 700
Private width As Double = 15
Private height As Double = 15

'  Crear campo de formulario de casilla de verificación
Private checkboxForm = New CheckboxFormField(name, value, pageIndex, x, y, width, height)

'  Añadir formulario
pdf.Form.Add(checkboxForm)

pdf.SaveAs("addCheckboxForm.pdf")
VB   C#

Documento PDF de salida

Cuadro combinado

Para añadir un campo de formulario combobox, primero instancie un objeto ComboboxFormField con los parámetros requeridos. Al igual que en el formulario de casilla de verificación, el parámetro de valor del cuadro combinado determina qué opción se seleccionará. Por último, utilice el método Add de la propiedad Form para añadir el formulario creado.

:path=/static-assets/pdf/content-code-examples/how-to/create-forms-add-combobox.cs
using IronPdf;
using IronSoftware.Forms;
using System.Collections.Generic;

//  Instanciar ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h2>Combobox Form Field</h2>");

//  Configure los parámetros necesarios
string name = "combobox";
string value = "Car";
int pageIndex = 0;
double x = 100;
double y = 700;
double width = 15;
double height = 15;
var choices = new List<string>() { "Car", "Bike", "Airplane" };

//  Crear campo de formulario combobox
var comboboxForm = new ComboboxFormField(name, value, pageIndex, x, y, width, height, choices);

//  Añadir formulario
pdf.Form.Add(comboboxForm);

pdf.SaveAs("addComboboxForm.pdf");
Imports IronPdf
Imports IronSoftware.Forms
Imports System.Collections.Generic

'  Instanciar ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h2>Combobox Form Field</h2>")

'  Configure los parámetros necesarios
Private name As String = "combobox"
Private value As String = "Car"
Private pageIndex As Integer = 0
Private x As Double = 100
Private y As Double = 700
Private width As Double = 15
Private height As Double = 15
Private choices = New List(Of String)() From {"Car", "Bike", "Airplane"}

'  Crear campo de formulario combobox
Private comboboxForm = New ComboboxFormField(name, value, pageIndex, x, y, width, height, choices)

'  Añadir formulario
pdf.Form.Add(comboboxForm)

pdf.SaveAs("addComboboxForm.pdf")
VB   C#

Botones de radio Formularios

Renderizar desde HTML

Cuando se trabaja con formularios de botones de radio en IronPDF, los botones de radio del mismo grupo están contenidos dentro de un objeto de formulario. Puede recuperar ese formulario introduciendo su nombre en el método FindFormField. Si se selecciona alguna de las opciones de radio, la propiedad Valor de ese formulario tendrá ese valor; de lo contrario, tendrá el valor "Ninguno".

:path=/static-assets/pdf/content-code-examples/how-to/create-forms-radiobutton.cs
using IronPdf;

//  Botones de radio HTML
string FormHtml = @"
<html>
    <body>
        <h2>Editable PDF Form</h2>
        Choose your preferred travel type: <br>
        <input type='radio' name='traveltype' value='Bike'>
        Bike <br>
        <input type='radio' name='traveltype' value='Car'>
        Car <br>
        <input type='radio' name='traveltype' value='Airplane'>
        Airplane
    </body>
</html>
";

//  Instanciar renderizador
ChromePdfRenderer Renderer = new ChromePdfRenderer();
Renderer.RenderingOptions.CreatePdfFormsFromHtml = true;

Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("radioButtomForm.pdf");
Imports IronPdf

'  Botones de radio HTML
Private FormHtml As String = "
<html>
    <body>
        <h2>Editable PDF Form</h2>
        Choose your preferred travel type: <br>
        <input type='radio' name='traveltype' value='Bike'>
        Bike <br>
        <input type='radio' name='traveltype' value='Car'>
        Car <br>
        <input type='radio' name='traveltype' value='Airplane'>
        Airplane
    </body>
</html>
"

'  Instanciar renderizador
Private Renderer As New ChromePdfRenderer()
Renderer.RenderingOptions.CreatePdfFormsFromHtml = True

Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("radioButtomForm.pdf")
VB   C#

Documento PDF de salida

Añadir formulario de radio mediante código

Del mismo modo, el campo de formulario botón de radio también se puede añadir a través de código. En primer lugar, instancie un objeto RadioFormField con los parámetros necesarios. A continuación, utilice el método Add de la propiedad Form para añadir el formulario creado.

:path=/static-assets/pdf/content-code-examples/how-to/create-forms-add-radiobutton.cs
using IronPdf;
using IronSoftware.Forms;

//  Instanciar ChromePdfRenderer
ChromePdfRenderer renderer = new ChromePdfRenderer();

PdfDocument pdf = renderer.RenderHtmlAsPdf("<h2>Editable PDF Form</h2>");

//  Configure los parámetros necesarios
string name = "choice";
string value = "yes";
int pageIndex = 0;
double x = 100;
double y = 700;
double width = 15;
double height = 15;

//  Crear el primer formulario de radio
var yesRadioform = new RadioFormField(name, value, pageIndex, x, y, width, height);

value = "no";
x = 200;

//  Crear el segundo formulario de radio
var noRadioform = new RadioFormField(name, value, pageIndex, x, y, width, height);

pdf.Form.Add(yesRadioform);
pdf.Form.Add(noRadioform);

pdf.SaveAs("addRadioForm.pdf");
Imports IronPdf
Imports IronSoftware.Forms

'  Instanciar ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h2>Editable PDF Form</h2>")

'  Configure los parámetros necesarios
Private name As String = "choice"
Private value As String = "yes"
Private pageIndex As Integer = 0
Private x As Double = 100
Private y As Double = 700
Private width As Double = 15
Private height As Double = 15

'  Crear el primer formulario de radio
Private yesRadioform = New RadioFormField(name, value, pageIndex, x, y, width, height)

value = "no"
x = 200

'  Crear el segundo formulario de radio
Dim noRadioform = New RadioFormField(name, value, pageIndex, x, y, width, height)

pdf.Form.Add(yesRadioform)
pdf.Form.Add(noRadioform)

pdf.SaveAs("addRadioForm.pdf")
VB   C#

Documento PDF de salida

Como toque final, utiliza el método DrawText para añadir etiquetas a los botones de opción. Más información Cómo dibujar texto y mapas de bits en PDF.

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.