如何使用 IronPDF 在 C# 中创建 PDF 表单

How to Create PDF Forms

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF提供了一套全面的表单创建功能。 它支持各种类型的表单元素,包括输入字段、文本区域、复选框、组合框、单选按钮和图像表单。 通过IronPDF,您可以轻松生成动态PDF表单,允许用户通过填写表单字段、进行选择和保存更改来与文档互动。 这使您能够为广泛的应用程序和场景创建交互式和用户友好的PDF表单。

快速入门:使用IronPDF构建您的第一个PDF表单

快速开始使用IronPDF创建交互式、可填写的PDF表单。 本快速指南向您展示如何使用简单的C#代码动态生成带有表单字段的PDF。 通过利用IronPDF强大的API,您可以创建文本输入、复选框等,以便以最小的努力增强用户交互。 跟随指南查看定义表单元素并保存文档是多么简单。 非常适合渴望快速高效地实现PDF表单的开发人员。

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    new IronPdf.ChromePdfRenderer { RenderingOptions = { CreatePdfFormsFromHtml = true } }
        .RenderHtmlAsPdf("<html><body><form>First name: <input type='text' name='firstname' value=''>Last name: <input type='text' name='lastname' value=''></form></body></html>")
        .SaveAs("editableForm.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
role="alert">您的企业在PDF安全和合规的年度订阅上花费太多。考虑,它提供管理SaaS服务(如数字签名、编辑、加密和保护)的解决方案,全部为一次性支付。尝试IronSecureDoc文档
class="hsg-featured-snippet">

最小工作流程(5步)

  1. 下载IronPDF C#库以创建PDF表单
  2. 利用HTML中的输入和文本区域标签生成表单
  3. 将类型指定为"checkbox",select标签将呈现复选框和组合框
  4. 将类型更改为"radio"以在PDF中输出单选按钮
  5. 检查生成的PDF输出


创建表格

IronPDF可以轻松创建嵌入各种类型表单字段的PDF文档。通过向原本静态的PDF文档中添加动态表单元素,您可以增强其灵活性和互动性。

文本区域和输入表单

从HTML呈现

您可以轻松创建文本区域和输入表单以在您的PDF文档中捕获用户输入。 文本区域表单提供了充足的空间来展示和捕获大量文本,而输入表单则允许用户输入具体的值或回应。

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

// Input and Text Area forms 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>
";

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

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

' Input and Text Area forms 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>
"

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

Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("textAreaAndInputForm.pdf")
$vbLabelText   $csharpLabel

输出PDF文档

通过代码添加文本表单

上述代码示例讲述了渲染包含文本区域和输入表单的HTML。 然而,也可以通过代码添加文本表单字段。 首先,使用所需的参数实例化一个TextFormField对象。 接着,使用Form属性的Add方法添加创建的表单。

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

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

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

// Configure required parameters
string name = "firstname";
string value = "first name";
uint pageIndex = 0;
double x = 100;
double y = 700;
double width = 50;
double height = 15;

// Create text form field
var textForm = new TextFormField(name, value, pageIndex, x, y, width, height);

// Add form
pdf.Form.Add(textForm);

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

' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

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

' Configure required parameters
Private name As String = "firstname"
Private value As String = "first name"
Private pageIndex As UInteger = 0
Private x As Double = 100
Private y As Double = 700
Private width As Double = 50
Private height As Double = 15

' Create text form field
Private textForm = New TextFormField(name, value, pageIndex, x, y, width, height)

' Add form
pdf.Form.Add(textForm)

pdf.SaveAs("addTextForm.pdf")
$vbLabelText   $csharpLabel

输出PDF文档

在PDF中没有标签的文本表单字段可能不会非常有意义。 为了增强其实用性,您应添加文字到PDF中作为表单字段的标签。 IronPdf为您提供支持。 您可以使用DrawText方法达到这一效果。 了解更多关于如何在PDF上绘制文本和位图

<hr

复选框和组合框表单

从HTML呈现

同样,复选框和组合框表单可以通过渲染包含复选框和组合框的HTML字符串、文件或Web URL来创建。 将CreatePdfFormsFromHtml属性设置为true以启用这些表单的创建。

组合框表单为用户提供了一个选项下拉选择。 用户可以从可用选项中选择,为PDF文档提供有价值的输入。

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

// Input and Text Area forms 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>
";

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

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

' Input and Text Area forms 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>
"

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

Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("checkboxAndComboboxForm.pdf")
$vbLabelText   $csharpLabel

输出PDF文档

通过代码添加表单

复选框

为了添加复选框表单字段,首先使用所需的参数实例化一个CheckboxFormField对象。 复选框的值参数将确定表单是否应被选中,其中"no"值表示未选中,而"yes"值表示选中。 最后,使用Form属性的Add方法添加创建的表单。

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

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

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

// Configure required parameters
string name = "checkbox";
string value = "no";
uint pageIndex = 0;
double x = 100;
double y = 700;
double width = 15;
double height = 15;

// Create checkbox form field
var checkboxForm = new CheckboxFormField(name, value, pageIndex, x, y, width, height);

// Add form
pdf.Form.Add(checkboxForm);

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

' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

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

' Configure required parameters
Private name As String = "checkbox"
Private value As String = "no"
Private pageIndex As UInteger = 0
Private x As Double = 100
Private y As Double = 700
Private width As Double = 15
Private height As Double = 15

' Create checkbox form field
Private checkboxForm = New CheckboxFormField(name, value, pageIndex, x, y, width, height)

' Add form
pdf.Form.Add(checkboxForm)

pdf.SaveAs("addCheckboxForm.pdf")
$vbLabelText   $csharpLabel

输出PDF文档

组合框

为了添加组合框表单字段,首先使用所需的参数实例化一个ComboboxFormField对象。 与复选框表单类似,组合框的值参数确定将选择哪一个选项。 最后,使用Form属性的Add方法添加创建的表单。

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

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

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

// Configure required parameters
string name = "combobox";
string value = "Car";
uint pageIndex = 0;
double x = 100;
double y = 700;
double width = 60;
double height = 15;
var choices = new List<string>() { "Car", "Bike", "Airplane" };

// Create combobox form field
var comboboxForm = new ComboboxFormField(name, value, pageIndex, x, y, width, height, choices);

// Add form
pdf.Form.Add(comboboxForm);

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

' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

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

' Configure required parameters
Private name As String = "combobox"
Private value As String = "Car"
Private pageIndex As UInteger = 0
Private x As Double = 100
Private y As Double = 700
Private width As Double = 60
Private height As Double = 15
Private choices = New List(Of String)() From {"Car", "Bike", "Airplane"}

' Create combobox form field
Private comboboxForm = New ComboboxFormField(name, value, pageIndex, x, y, width, height, choices)

' Add form
pdf.Form.Add(comboboxForm)

pdf.SaveAs("addComboboxForm.pdf")
$vbLabelText   $csharpLabel

输出PDF文档

<hr

单选按钮表单

从HTML呈现

在IronPDF处理中使用单选按钮表单时,同一组的单选按钮包含在一个表单对象中。 您可以通过将其名称输入FindFormField方法来检索该表单。 如果选择了任何单选选项,该表单的Value属性将具有该值; 否则,它将有一个值为'None'。

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

// Radio buttons 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>
";

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

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

' Radio buttons 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>
"

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

Renderer.RenderHtmlAsPdf(FormHtml).SaveAs("radioButtomForm.pdf")
$vbLabelText   $csharpLabel

输出PDF文档

通过代码添加单选表单

同样,可以通过代码添加单选按钮表单字段。 首先,使用所需的参数实例化一个RadioFormField对象。 接着,使用Form属性的Add方法添加创建的表单。

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

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

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

// Configure required parameters
string name = "choice";
string value = "yes";
uint pageIndex = 0;
double x = 100;
double y = 700;
double width = 15;
double height = 15;

// Create the first radio form
var yesRadioform = new RadioFormField(name, value, pageIndex, x, y, width, height);

value = "no";
x = 200;

// Create the second radio form
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

' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

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

' Configure required parameters
Private name As String = "choice"
Private value As String = "yes"
Private pageIndex As UInteger = 0
Private x As Double = 100
Private y As Double = 700
Private width As Double = 15
Private height As Double = 15

' Create the first radio form
Private yesRadioform = New RadioFormField(name, value, pageIndex, x, y, width, height)

value = "no"
x = 200

' Create the second radio form
Dim noRadioform = New RadioFormField(name, value, pageIndex, x, y, width, height)

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

pdf.SaveAs("addRadioForm.pdf")
$vbLabelText   $csharpLabel

输出PDF文档

作为最后的润饰,使用DrawText方法为单选按钮添加标签。 了解更多关于如何在PDF上绘制文本和位图

<hr

通过代码添加图像表单

图像表单字段只能通过代码添加。 首先,使用所需的参数实例化一个ImageFormField对象。 接着,使用Form属性的Add方法添加创建的表单。

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

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

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

// Configure required parameters
string name = "image1";
uint pageIndex = 0;
double x = 100;
double y = 600;
double width = 200;
double height = 200;

// Create the image form
ImageFormField imageForm = new ImageFormField(name, pageIndex, x, y, width, height);

pdf.Form.Add(imageForm);

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

' Instantiate ChromePdfRenderer
Private renderer As New ChromePdfRenderer()

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

' Configure required parameters
Private name As String = "image1"
Private pageIndex As UInteger = 0
Private x As Double = 100
Private y As Double = 600
Private width As Double = 200
Private height As Double = 200

' Create the image form
Private imageForm As New ImageFormField(name, pageIndex, x, y, width, height)

pdf.Form.Add(imageForm)

pdf.SaveAs("addImageForm.pdf")
$vbLabelText   $csharpLabel

输出PDF文档

输出PDF文件:查看图像表单PDF。 浏览器不支持图像表单; 请在Adobe Acrobat中打开以试用该功能。

class="content-img-align-center">
style="width=50%">Image Form

<hr

通过代码添加未签名签名表单

要插入未签名或空白的签名字段,首先创建签名对象。 然后,访问目标PDF的Form属性,并使用Add方法插入签名对象。 最后,导出带有空签名字段的PDF。

:path=/static-assets/pdf/content-code-examples/how-to/signing-unsigned-signature.cs
using IronPdf;
using IronSoftware.Forms;

ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlAsPdf("<h1>testing</h1>");

// Configure required parameters
string name = "cert";
uint pageIndex = 0;
double x = 100;
double y = 600;
double width = 300;
double height = 100;

// Create signature
SignatureFormField signature = new SignatureFormField(name, pageIndex, x, y, width, height);

// Add signature
pdf.Form.Add(signature);

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

Private renderer As New ChromePdfRenderer()
Private pdf As PdfDocument = renderer.RenderHtmlAsPdf("<h1>testing</h1>")

' Configure required parameters
Private name As String = "cert"
Private pageIndex As UInteger = 0
Private x As Double = 100
Private y As Double = 600
Private width As Double = 300
Private height As Double = 100

' Create signature
Private signature As New SignatureFormField(name, pageIndex, x, y, width, height)

' Add signature
pdf.Form.Add(signature)

pdf.SaveAs("signature.pdf")
$vbLabelText   $csharpLabel

输出PDF文档

输出PDF文件:signature.pdf。 浏览器不支持签名表单; 请在Adobe Acrobat中打开以试用该功能。

class="content-img-align-center">
style="width=50%">Image Form

了解如何在以下文章中以编程方式填写和编辑PDF表单:“如何填写和编辑PDF表单”。

准备好看看您还能做些什么吗? 查看我们的教程页面:签名和保护PDFs

常见问题解答

使用 C# 可以向 PDF 表单添加哪些表单元素?

IronPDF 允许您使用 C# 向 PDF 表单添加各种表单元素,包括文本字段、文本区域、复选框、组合框、单选按钮和图像字段。

如何将 HTML 表单元素转换为 PDF?

您可以使用 IronPDF 的HtmlToPdf.GeneratePdf方法将 HTML 表单结构转换为交互式 PDF 表单。

我可以在创建 PDF 后添加表单字段吗?

可以,通过使用 IronPDF 的 API,您可以编程地插入元素,如文本字段、复选框和单选按钮。

需要哪些步骤才能使用 C# 向 PDF 添加文本输入字段?

要使用 C# 向 PDF 添加文本输入字段,创建一个TextFormField对象,并在 PDF 文档的 Form 属性上使用Add方法。

如何使用 C# 在我的 PDF 表单中包含复选框?

可以通过转换包含复选框元素的 HTML,或者通过在 C# 中创建CheckboxFormField对象来在您的 PDF 表单中包含复选框。

在 PDF 表单中能使用下拉菜单吗?

可以,通过转换带有 select 标签的 HTML,或者使用 C# 中的ComboboxFormField对象实现下拉菜单。

应使用什么方法向 PDF 表单添加单选按钮?

可以通过带有单选输入的 HTML 转换,或者编程地使用 IronPDF 的RadioFormField对象添加单选按钮。

如何将图像字段添加到 PDF 表单中?

您可以通过在 IronPDF 中创建ImageFormField并编程地将其添加到文档中来添加图像字段。

插入未签名的签名字段到 PDF 的最佳方式是什么?

要插入未签名的签名字段,创建一个SignatureFormField对象,并使用Add方法将其集成到 PDF 文档中。

如何能更深入了解如何使用 IronPDF 创建和编辑 PDF 表单?

有关创建和编辑 PDF 表单的更多信息,您可以参考 IronPDF 网站上的 '如何填写和编辑 PDF 表单' 指南。

IronPDF 是否兼容 .NET 10,可用于创建交互式 PDF 表单?

是的——IronPDF 完全兼容 .NET 10。它开箱即用,支持 .NET 10 项目中的所有表单创建和 HTML 渲染功能(输入框、复选框、单选按钮、组合框、图像字段等)。无需任何特殊设置。{@see IronPDF 在其支持的平台列表中包含 .NET 10。}

Chaknith Bin
软件工程师
Chaknith 在 IronXL 和 IronBarcode 工作。他在 C# 和 .NET 方面有着深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的见解有助于更好的产品、文档和整体体验。
准备开始了吗?
Nuget 下载 16,154,058 | 版本: 2025.11 刚刚发布