We have already demonstrated how to create form fields in PDF file. This article mainly shows you how developers fill form field in PDF in C# only with 3 simple steps by using a standalone .NET PDF component Spire.PDF.
Make sure Spire.PDF for .NET has been installed correctly and then add Spire.Pdf.dll as reference in the downloaded Bin folder though the below path: "..\Spire.Pdf\Bin\NET4.0\ Spire.Pdf.dll". Here comes to the details of how developers Fill Form Fields by using Spire.PDF:
Step 1: Open the form that needs to fill the data
[C#]
//Create a pdf document PdfDocument doc = new PdfDocument(); //Load from file doc.LoadFromFile(@"..\..\FormField.pdf");
Step 2: Update the data to the form
[C#]
//Get form
PdfFormWidget formWidget = doc.Form as PdfFormWidget;
for (int i = 0; i < formWidget.FieldsWidget.List.Count; i++)
{
PdfField field = formWidget.FieldsWidget.List[i] as PdfField;
//Fill the data for textBoxField
if (field is PdfTextBoxFieldWidget)
{
PdfTextBoxFieldWidget textBoxField = field as PdfTextBoxFieldWidget;
switch (textBoxField.Name)
{
case "email":
textBoxField.Text = "support@e-iceblue.com";
break;
case "password":
textBoxField.Password = true;
textBoxField.Text = "e-iceblue";
//Fill the data for listBoxField
if (field is PdfListBoxWidgetFieldWidget)
{
PdfListBoxWidgetFieldWidget listBoxField = field as PdfListBoxWidgetFieldWidget;
switch (listBoxField.Name)
{
case "email_format":
int[] index = { 1 };
listBoxField.SelectedIndex = index;
break;
//Fill the data for comBoxField
if (field is PdfComboBoxWidgetFieldWidget)
{
PdfComboBoxWidgetFieldWidget comBoxField = field as PdfComboBoxWidgetFieldWidget;
switch (comBoxField.Name)
{
case "title":
int[] items = { 0 };
comBoxField.SelectedIndex = items;
break;
//Fill the data for checkBoxField
if (field is PdfCheckBoxWidgetFieldWidget)
{
PdfCheckBoxWidgetFieldWidget checkBoxField = field as PdfCheckBoxWidgetFieldWidget;
switch (checkBoxField.Name)
{
case "agreement_of_terms":
checkBoxField.Checked = true;
break;
Step 3: Save and launch file
[C#]
//Save the document to file in PDF format doc.SaveToFile(@"../../FormFieldData.pdf.pdf"); //Launch the file System.Diagnostics.Process.Start(@"../../FormFieldData.pdf.pdf");
Effective Screenshot:
The original PDF with form fields:

After fill the form fields:

View the full code as below:
C#
using Spire.Pdf;
using Spire.Pdf.Fields;
using Spire.Pdf.Widget;
namespace FillFormFields
{
class Program
{
static void Main(string []args){
PdfDocument doc = new PdfDocument();
doc.LoadFromFile(@"..\..\FormField.pdf");
PdfFormWidget formWidget = doc.Form as PdfFormWidget;
for (int i = 0; i < formWidget.FieldsWidget.List.Count; i++)
{
PdfField field = formWidget.FieldsWidget.List[i] as PdfField;
if (field is PdfTextBoxFieldWidget)
{
PdfTextBoxFieldWidget textBoxField = field as PdfTextBoxFieldWidget;
switch (textBoxField.Name)
{
case "email":
textBoxField.Text = "support@e-iceblue.com";
break;
case "username":
textBoxField.Text = "E-iceblue";
break;
case "password":
textBoxField.Password = true;
textBoxField.Text = "e-iceblue";
break;
case "password2":
textBoxField.Password = true;
textBoxField.Text = "e-iceblue";
break;
case "company_name ":
textBoxField.Text = "E-iceblue";
break;
case "first_name":
textBoxField.Text = "James";
break;
case "last_name":
textBoxField.Text = "Chen";
break;
case "middle_name":
textBoxField.Text = "J";
break;
case "address1":
textBoxField.Text = "Chengdu";
break;
case "address2":
textBoxField.Text = "Beijing";
break;
case "city":
textBoxField.Text = "Shanghai";
break;
case "postal_code":
textBoxField.Text = "11111";
break;
case "state":
textBoxField.Text = "Shanghai";
break;
case "phone":
textBoxField.Text = "1234567901";
break;
case "mobile_phone":
textBoxField.Text = "123456789";
break;
case "fax":
textBoxField.Text = "12121212";
break;
}
}
if (field is PdfListBoxWidgetFieldWidget)
{
PdfListBoxWidgetFieldWidget listBoxField = field as PdfListBoxWidgetFieldWidget;
switch (listBoxField.Name)
{
case "email_format":
int[] index = { 1 };
listBoxField.SelectedIndex = index;
break;
}
}
if (field is PdfComboBoxWidgetFieldWidget)
{
PdfComboBoxWidgetFieldWidget comBoxField = field as PdfComboBoxWidgetFieldWidget;
switch (comBoxField.Name)
{
case "title":
int[] items = { 0 };
comBoxField.SelectedIndex = items;
break;
}
}
if (field is PdfRadioButtonListFieldWidget)
{
PdfRadioButtonListFieldWidget radioBtnField = field as PdfRadioButtonListFieldWidget;
switch (radioBtnField.Name)
{
case "country":
radioBtnField.SelectedIndex = 1;
break;
}
}
if (field is PdfCheckBoxWidgetFieldWidget)
{
PdfCheckBoxWidgetFieldWidget checkBoxField = field as PdfCheckBoxWidgetFieldWidget;
switch (checkBoxField.Name)
{
case "agreement_of_terms":
checkBoxField.Checked = true;
break;
}
}
if (field is PdfButtonWidgetFieldWidget)
{
PdfButtonWidgetFieldWidget btnField = field as PdfButtonWidgetFieldWidget;
switch (btnField.Name)
{
case "submit":
btnField.Text = "Submit";
break;
}
}
}
doc.SaveToFile(@"../../FormFieldData.pdf.pdf");
System.Diagnostics.Process.Start(@"../../FormFieldData.pdf.pdf");
}
}
}
VB.NET
Imports Spire.Pdf
Imports Spire.Pdf.Fields
Imports Spire.Pdf.Widget
Namespace FillFormFields
Class Program
Private Shared Sub Main(args As String())
Dim doc As New PdfDocument()
doc.LoadFromFile("..\..\FormField.pdf")
Dim formWidget As PdfFormWidget = TryCast(doc.Form, PdfFormWidget)
For i As Integer = 0 To formWidget.FieldsWidget.List.Count - 1
Dim field As PdfField = TryCast(formWidget.FieldsWidget.List(i), PdfField)
If TypeOf field Is PdfTextBoxFieldWidget Then
Dim textBoxField As PdfTextBoxFieldWidget = TryCast(field, PdfTextBoxFieldWidget)
Select Case textBoxField.Name
Case "email"
textBoxField.Text = "support@e-iceblue.com"
Exit Select
Case "username"
textBoxField.Text = "E-iceblue"
Exit Select
Case "password"
textBoxField.Password = True
textBoxField.Text = "e-iceblue"
Exit Select
Case "password2"
textBoxField.Password = True
textBoxField.Text = "e-iceblue"
Exit Select
Case "company_name "
textBoxField.Text = "E-iceblue"
Exit Select
Case "first_name"
textBoxField.Text = "James"
Exit Select
Case "last_name"
textBoxField.Text = "Chen"
Exit Select
Case "middle_name"
textBoxField.Text = "J"
Exit Select
Case "address1"
textBoxField.Text = "Chengdu"
Exit Select
Case "address2"
textBoxField.Text = "Beijing"
Exit Select
Case "city"
textBoxField.Text = "Shanghai"
Exit Select
Case "postal_code"
textBoxField.Text = "11111"
Exit Select
Case "state"
textBoxField.Text = "Shanghai"
Exit Select
Case "phone"
textBoxField.Text = "1234567901"
Exit Select
Case "mobile_phone"
textBoxField.Text = "123456789"
Exit Select
Case "fax"
textBoxField.Text = "12121212"
Exit Select
End Select
End If
If TypeOf field Is PdfListBoxWidgetFieldWidget Then
Dim listBoxField As PdfListBoxWidgetFieldWidget = TryCast(field, PdfListBoxWidgetFieldWidget)
Select Case listBoxField.Name
Case "email_format"
Dim index As Integer() = {1}
listBoxField.SelectedIndex = index
Exit Select
End Select
End If
If TypeOf field Is PdfComboBoxWidgetFieldWidget Then
Dim comBoxField As PdfComboBoxWidgetFieldWidget = TryCast(field, PdfComboBoxWidgetFieldWidget)
Select Case comBoxField.Name
Case "title"
Dim items As Integer() = {0}
comBoxField.SelectedIndex = items
Exit Select
End Select
End If
If TypeOf field Is PdfRadioButtonListFieldWidget Then
Dim radioBtnField As PdfRadioButtonListFieldWidget = TryCast(field, PdfRadioButtonListFieldWidget)
Select Case radioBtnField.Name
Case "country"
radioBtnField.SelectedIndex = 1
Exit Select
End Select
End If
If TypeOf field Is PdfCheckBoxWidgetFieldWidget Then
Dim checkBoxField As PdfCheckBoxWidgetFieldWidget = TryCast(field, PdfCheckBoxWidgetFieldWidget)
Select Case checkBoxField.Name
Case "agreement_of_terms"
checkBoxField.Checked = True
Exit Select
End Select
End If
If TypeOf field Is PdfButtonWidgetFieldWidget Then
Dim btnField As PdfButtonWidgetFieldWidget = TryCast(field, PdfButtonWidgetFieldWidget)
Select Case btnField.Name
Case "submit"
btnField.Text = "Submit"
Exit Select
End Select
End If
Next
doc.SaveToFile("../../FormFieldData.pdf.pdf")
System.Diagnostics.Process.Start("../../FormFieldData.pdf.pdf")
End Sub
End Class
End Namespace