Interface AcroFormField

    • Field Detail

      • FIELD_TYPE_BUTTON

        static final Object FIELD_TYPE_BUTTON
      • FIELD_TYPE_TEXT

        static final Object FIELD_TYPE_TEXT
      • FIELD_TYPE_CHOICE

        static final Object FIELD_TYPE_CHOICE
      • FIELD_TYPE_SIGNATURE

        static final Object FIELD_TYPE_SIGNATURE
      • FIELD_TYPE_OTHER

        static final Object FIELD_TYPE_OTHER
    • Method Detail

      • getType

        Object getType()
        Returns the type of field, as specified in the /FT entry in this field's PDF dictionary. This is an indication of the subtype of this AcroFormField instance:
        • If the return value is FIELD_TYPE_BUTTON, then this AcroFormField is an instance of AcroButtonField
        • If the return value is FIELD_TYPE_TEXT, then this AcroFormField is an instance of AcroTextField
        • If the return value is FIELD_TYPE_CHOICE, then this AcroFormField is an instance of AcroChoiceField
        • If the return value is FIELD_TYPE_SIGNATURE, then this AcroFormField is an instance of AcroSignatureField
        • If the return value is FIELD_TYPE_OTHER, then this AcroFormField has no specific concrete implementation. This case is reserved for form fields with new type indicators that may be introduced by Adobe in the future.
      • getLocalName

        String getLocalName()
        Returns the local name of the field, as specified in the /T entry in this field's PDF dictionary. This name is also used as the value returned by the FormField.getName() implementation.
      • getFullName

        String getFullName()

        Returns the fully-qualified name of this field, which should be unique within a PDF document form. Details of how full names are constructed are specified in Section 8.6.2 (Field Names) of the PDF Document Specification.

        It suffices to say here that form fields in an interactive AcroForm are defined in a hierarchical manner, and that their local names are used to derive a period-delimited full name that guarantees each name's uniqueness within the parent AcroForm.

      • getUIName

        String getUIName()

        Returns the user-friendly name of this field, as specified in the /TU entry in this field's PDF dictionary. This function can return null if no user-friendly field name is defined.

        Specified by:
        getUIName in interface FormField
      • getMappingName

        String getMappingName()
        Returns the 'mapping name' of this field, as specified in the /TM entry in this field's PDF dictionary. The mapping name is used to identify the field in exported form data formats. This function can return null if no mapping name is defined.
      • getValue

        Object getValue()
        Returns the value of this field, as specified in the /V entry in this field's PDF dictionary. The type of the returned object depends upon the type of this field.
        Specified by:
        getValue in interface FormField
      • getDefaultValue

        Object getDefaultValue()
        Returns the default value to which the field reverts when a reset-form action is executed, as specified in the /DV entry in this field's PDF dictionary. The type of the returned object will be the same as the type of object returned by the getValue() function, and depends upon the type of this field.
      • hasValueChanged

        boolean hasValueChanged()
        Returns true only if this field's value has been changed since being loaded from the PDF document.
        Since:
        v2.1
      • canChangeValue

        boolean canChangeValue()
        This function returns true only if this form field is of a subtype that supports setting its value. This includes checkboxes, radio button groups, text fields, and choice fields (lists and dropdown controls).
        Since:
        v2.1
      • setValue

        boolean setValue​(String value)
                  throws UnsupportedOperationException,
                         IllegalArgumentException

        Sets the value of this form field. Each AcroFormField implementation may specify additional varieties of setValue() to support unique functionality (such as holding multiple values). For any form field instance, this function will throw an UnsupportedOperationException if it does not support updates; such instances will return false from canChangeValue(). This function will return true if the form field's value changes as a result of calling this function (i.e. the given value is different from the current value of the form field).

        Either AcroForm.writeUpdatedDocument(java.io.File) or AcroForm.writeUpdatedDocument(java.io.OutputStream) must be called after setting any form field values in order to persist such changes to a PDF document.

        Throws:
        UnsupportedOperationException - if an AcroFormField implementation does not support updates.
        IllegalArgumentException - if the provided value is invalid for the particular field or field type at hand. Refer to each field type's class javadoc for details on how and when a field value parameter is considered invalid.
        Since:
        v2.1
      • isReadOnly

        boolean isReadOnly()
        Returns true only if this field is designated as read-only. Note that this is just a hint, provided for the benefit of end-user tools. PDFxStream does not enforce the read-only state of a form field; i.e. it will allow a field's value to be set even if it is designated as read-only.
        Since:
        v2.1