Free Trial
Web API version
Licensing
Request A Quote
HAVE QUESTIONS OR NEED HELP? SUBMIT THE SUPPORT REQUEST FORM or write email to SUPPORT@BYTESCOUT.COM
Get All PDF Form Fields | VB.NET
Program.vb:
VB
Imports Bytescout.PDF ''' <summary> ''' This example demonstrates how to all PDF form fields programmatically. ''' </summary> Class Program Shared Sub Main() ' Load PDF form Dim document = New Document("sample.pdf") document.RegistrationName = "demo" document.RegistrationKey = "demo" Dim formFields As New List(Of FormFieldInfo) ' Loop through all pages For i = 0 To document.Pages.Count - 1 Dim page = document.Pages(i) ' Loop through all annotations For Each annotation In page.Annotations If TypeOf annotation Is EditBox Or TypeOf annotation Is ComboBox Or TypeOf annotation Is CheckBox Or TypeOf annotation Is RadioButton Then ' Get form field info Dim fieldInfo As New FormFieldInfo() fieldInfo.Type = annotation.Type.ToString() fieldInfo.FieldName = CType(annotation, Field).Name fieldInfo.PageIndex = i fieldInfo.Left = CType(annotation, Field).Left fieldInfo.Top = CType(annotation, Field).Top fieldInfo.Width = CType(annotation, Field).Width fieldInfo.Height = CType(annotation, Field).Height ' Get form field value Select Case annotation.Type Case AnnotationType.EditBox fieldInfo.Value = CType(annotation, EditBox).Text Case AnnotationType.ComboBox fieldInfo.Value = CType(annotation, ComboBox).Text Case AnnotationType.CheckBox fieldInfo.Value = CType(annotation, CheckBox).Checked.ToString() Case AnnotationType.RadioButton fieldInfo.Value = CType(annotation, RadioButton).Checked.ToString() End Select formFields.Add(fieldInfo) End If Next Next ' Cleanup document.Dispose() ' Display Form Data DisplayData(formFields) Console.ReadLine() End Sub ''' <summary> ''' Display data to console ''' </summary> Shared Sub DisplayData(ByVal formFieldInfos As List(Of FormFieldInfo)) If Not formFieldInfos Is Nothing And formFieldInfos.Count > 0 Then For Each item In formFieldInfos Console.WriteLine($"Type: {item.Type}{Environment.NewLine}FieldName: {item.FieldName}{Environment.NewLine}Value: {item.Value}{Environment.NewLine}Page Index: {item.PageIndex}{Environment.NewLine}Left: {item.Left}, Top: {item.Top}, Width: {item.Width}, Height: {item.Height}") Console.WriteLine() Next End If End Sub End Class Class FormFieldInfo Public Property Type As String Public Property FieldName As String Public Property Value As String Public Property PageIndex As Int32 Public Property Left As Single Public Property Top As Single Public Property Width As Single Public Property Height As Single End Class