PDF forms contain an array of fields that are represented as individual controls or groups of controls on the pages of a PDF. You can iterate through this array and manipulate these controls to change their values.
All Acroforms-based access to the PDF fields is provided by the Fields property of an ImGearPDFDocument.Form. If a loaded PDF document has no form, the Form property will be null. Use CreateForm to create an empty form.
You can access fields though iteration or index-based access. Iteration is accomplished through an IEnumerable object; the indexed access provides two interfaces: by full name or by numerical field index. Once a Field object is obtained, see Read and Write Form Field Values to read values.
Iteration over the Fields property can be done using a foreach loop, a for loop, or any method consuming an IEnumerable object. Fields returns the number of fields in the PDF form.
C# |
Copy Code |
---|---|
void IterateFormFields(ImGearPDFDocument pdf) { if (pdf.Form == null) { pdf.CreateForm(); } foreach (Field field in pdf.Form.Fields) { // Operate on the field here... } for (int i = 0; i != pdf.Form.Fields.Count; ++i) { // Operate on the field here... } } |
Index-based traversal allows random access to fields. When indexing by name, the name is the full name of the field. A full name is a number of partial names separated by periods: see the FullName property for details. The numerical index order is the same as the iteration order, as mentioned above.
C# |
Copy Code |
---|---|
void ProcessFields(ImGearPDFDocument pdf) { var name = pdf.Form.Fields[0]; var address = pdf.Form.Fields["address.state.county"]; // Operate on the fields here... } |