Class PDButton

    • Field Detail

      • FLAG_RADIO

        static final int FLAG_RADIO
        A Ff flag. If set, the field is a set of radio buttons
        See Also:
        Constant Field Values
      • FLAG_PUSHBUTTON

        static final int FLAG_PUSHBUTTON
        A Ff flag. If set, the field is a pushbutton.
        See Also:
        Constant Field Values
      • FLAG_RADIOS_IN_UNISON

        static final int FLAG_RADIOS_IN_UNISON
        A Ff flag. If set, radio buttons individual fields, using the same value for the on state will turn on and off in unison.
        See Also:
        Constant Field Values
    • Constructor Detail

      • PDButton

        PDButton​(PDAcroForm acroForm,
                 COSDictionary field,
                 PDNonTerminalField parent)
        Constructor.
        Parameters:
        acroForm - The form that this field is part of.
        field - the PDF object to represent as a field.
        parent - the parent node of the node
    • Method Detail

      • isPushButton

        public boolean isPushButton()
        Determines if push button bit is set.
        Returns:
        true if type of button field is a push button.
      • setPushButton

        @Deprecated
        public void setPushButton​(boolean pushbutton)
        Deprecated.
        use PDPushButton instead
        Set the push button bit.
        Parameters:
        pushbutton - if true the button field is treated as a push button field.
      • isRadioButton

        public boolean isRadioButton()
        Determines if radio button bit is set.
        Returns:
        true if type of button field is a radio button.
      • setRadioButton

        @Deprecated
        public void setRadioButton​(boolean radiobutton)
        Deprecated.
        use PDRadioButton instead
        Set the radio button bit.
        Parameters:
        radiobutton - if true the button field is treated as a radio button field.
      • getValue

        public java.lang.String getValue()
        Returns the selected value.

        Off is the default value which will also be returned if the value hasn't been set at all.

        Returns:
        A non-null string.
      • setValue

        public void setValue​(java.lang.String value)
                      throws java.io.IOException
        Sets the selected option given its name. It also tries to update the visual appearance, unless PDAcroForm.getNeedAppearances() is true.
        Specified by:
        setValue in class PDField
        Parameters:
        value - Name of option to select
        Throws:
        java.io.IOException - if the value could not be set
        java.lang.IllegalArgumentException - if the value is not a valid option.
      • setValue

        public void setValue​(int index)
                      throws java.io.IOException
        Set the selected option given its index, and try to update the visual appearance. NOTE: this method is only usable if there are export values and used for radio buttons with FLAG_RADIOS_IN_UNISON not set.
        Parameters:
        index - index of option to be selected
        Throws:
        java.io.IOException - if the value could not be set
        java.lang.IllegalArgumentException - if the index provided is not a valid index.
      • getDefaultValue

        public java.lang.String getDefaultValue()
        Returns the default value, if any.
        Returns:
        A non-null string.
      • setDefaultValue

        public void setDefaultValue​(java.lang.String value)
        Sets the default value.
        Parameters:
        value - Name of option to select
        Throws:
        java.lang.IllegalArgumentException - if the value is not a valid option.
      • getValueAsString

        public java.lang.String getValueAsString()
        Description copied from class: PDField
        Returns a string representation of the "V" entry, or an empty string.
        Specified by:
        getValueAsString in class PDField
        Returns:
        The list of widget annotations.
      • getExportValues

        public java.util.List<java.lang.String> getExportValues()
        This will get the (optional) export values.

        The export values are defined in the field dictionaries /Opt key.

        The option values are used to define the export values for the field to

        • hold values in non-Latin writing systems as name objects, which represent the field value, are limited to PDFDocEncoding
        • allow radio buttons having the same export value to be handled independently
        Returns:
        List containing all possible export values. If there is no /Opt entry an empty list will be returned.
        See Also:
        getOnValues()
      • setExportValues

        public void setExportValues​(java.util.List<java.lang.String> values)
        This will set the export values.
        Parameters:
        values - List containing all possible export values. Supplying null or an empty list will remove the Opt entry.
        See Also:
        getExportValues()
      • constructAppearances

        void constructAppearances()
                           throws java.io.IOException
        Description copied from class: PDTerminalField
        Constructs appearance streams and appearance dictionaries for all widget annotations. Subclasses should not call this method directly but via PDTerminalField.applyChange().
        Specified by:
        constructAppearances in class PDTerminalField
        Throws:
        java.io.IOException - if the appearance couldn't be generated
      • getOnValues

        public java.util.Set<java.lang.String> getOnValues()
        Get the values to set individual buttons within a group to the on state.

        The On value could be an arbitrary string as long as it is within the limitations of a PDF name object. The Off value shall always be 'Off'. If not set or not part of the normal appearance keys 'Off' is the default

        Returns:
        the potential values setting the check box to the On state. If an empty Set is returned there is no appearance definition.
      • getOnValue

        private java.lang.String getOnValue​(int index)
      • getOnValueForWidget

        private java.lang.String getOnValueForWidget​(PDAnnotationWidget widget)
      • checkValue

        void checkValue​(java.lang.String value)
        Checks value.
        Parameters:
        value - Name of radio button to select
        Throws:
        java.lang.IllegalArgumentException - if the value is not a valid option.
      • updateByValue

        private void updateByValue​(java.lang.String value)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • updateByOption

        private void updateByOption​(java.lang.String value)
                             throws java.io.IOException
        Throws:
        java.io.IOException