All Implemented Interfaces:
COSObjectable
Direct Known Subclasses:
PDCheckBox, PDPushButton, PDRadioButton

public abstract class PDButton extends PDTerminalField
A button field represents an interactive control on the screen that the user can manipulate with the mouse.
Author:
sug
  • Constructor Details

    • PDButton

      public PDButton(PDAcroForm acroForm)
      Parameters:
      acroForm - The acroform.
      See Also:
      • PDField(PDAcroForm)
  • Method Details

    • 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 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(String value) throws 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:
      IOException - if the value could not be set
      IllegalArgumentException - if the value is not a valid option.
    • setValue

      public void setValue(int index) throws 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:
      IOException - if the value could not be set
      IllegalArgumentException - if the index provided is not a valid index.
    • getDefaultValue

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

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

      public 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 List<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:
    • setExportValues

      public void setExportValues(List<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:
    • getOnValues

      public Set<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.