4Dim fld As Field = doc4.GetField("employee.name.first")
5fld.SetValue("John")
PDF Interactive Forms (AcroForms) Full code sample which illustrates some basic PDFNet capabilities related to interactive forms (also known as AcroForms).
About filling form fields
Form Fields can be populated using the Field.SetValue() method:
1field.SetValue("New Value");
2
3// Regenerate appearance stream.
4field.RefreshAppearance();
1field.SetValue("New Value");
2
3// Regenerate appearance stream.
4field.RefreshAppearance();
1field.SetValue("New Value")
2
3// Regenerate appearance stream.
4field.RefreshAppearance()
1field.setValue("New Value");
2
3// Regenerate appearance stream.
4field.refreshAppearance();
1field.setValueAsString("New Value");
2
3// Regenerate appearance stream.
4field.refreshAppearance();
1[field SetValue: @"New Value"];
2
3// Regenerate appearance stream.
4[field RefreshAppearance];
1$field->SetValue("New Value");
2
3// Regenerate appearance stream.
4$field->RefreshAppearance();
1field.SetValue("New Value")
2
3# Regenerate appearance stream.
4field.RefreshAppearance()
1field.SetValue("New Value")
2
3# Regenerate appearance stream.
4field.RefreshAppearance()
1field.SetValue("New Value")
2
3' Regenerate appearance stream.
4field.RefreshAppearance()
Note that, after modifying the Field's value, we refreshed its appearance stream. In the PDF format, Field's value and appearance are two different entities. Therefore, if you don't call RefreshAppearance(), the initial value on a PDF page will remain unchanged — it may have retain the old value or it may be blank.
One approach used by other PDF libraries is to let the PDF viewer automatically pre-generate appearance streams by setting the 'NeedAppearances' flag in AcroForm dictionary:
This will force viewer applications to auto-generate appearance streams every time the document is opened. This method is unreliable — Acrobat does not always generate appearance streams correctly. Another disadvantage of this approach is that the user will always be prompted to save the document even if the document was never modified.
Field.GetValueAsString() returns the field's value as a string. The value returned varies based on the field type. A text field type varies depending on the field type. A text field will return a string:
Other field types, such as check boxes and radio buttons, can also return text from GetValueAsString(). Similarly, the Field.GetValueAsString() method is available.
Access interactive fields
The form shown in the following figure consists of a number of Fields:
Every field has its name and value, as well as its annotation appearance.
In the Apryse SDK, Fields are accessed through FieldIterators.
For example, the list of all Fields present in the document can be traversed using the following code snippet: