Class PDButton
java.lang.Object
org.apache.pdfbox.pdmodel.interactive.form.PDField
org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField
org.apache.pdfbox.pdmodel.interactive.form.PDButton
- All Implemented Interfaces:
COSObjectable
- Direct Known Subclasses:
PDCheckBox
,PDPushButton
,PDRadioButton
A button field represents an interactive control on the screen
that the user can manipulate with the mouse.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final int
A Ff flag.(package private) static final int
A Ff flag.(package private) static final int
A Ff flag. -
Constructor Summary
ConstructorsConstructorDescriptionPDButton
(PDAcroForm acroForm) PDButton
(PDAcroForm acroForm, COSDictionary field, PDNonTerminalField parent) Constructor. -
Method Summary
Modifier and TypeMethodDescription(package private) void
checkValue
(String value) Checks value.(package private) void
Constructs appearance streams and appearance dictionaries for all widget annotations.Returns the default value, if any.This will get the (optional) export values.private String
getOnValue
(int index) private String
Get the values to set individual buttons within a group to the on state.getValue()
Returns the selected value.Returns a string representation of the "V" entry, or an empty string.boolean
Determines if push button bit is set.boolean
Determines if radio button bit is set.void
setDefaultValue
(String value) Sets the default value.void
setExportValues
(List<String> values) This will set the export values.void
setPushButton
(boolean pushbutton) Deprecated.void
setRadioButton
(boolean radiobutton) Deprecated.usePDRadioButton
insteadvoid
setValue
(int index) Set the selected option given its index, and try to update the visual appearance.void
Sets the selected option given its name.private void
updateByOption
(String value) private void
updateByValue
(String value) Methods inherited from class org.apache.pdfbox.pdmodel.interactive.form.PDTerminalField
applyChange, exportFDF, getFieldFlags, getFieldType, getWidget, getWidgets, importFDF, setActions, setWidgets
Methods inherited from class org.apache.pdfbox.pdmodel.interactive.form.PDField
findKid, fromDictionary, getAcroForm, getActions, getAlternateFieldName, getCOSObject, getFullyQualifiedName, getInheritableAttribute, getMappingName, getParent, getPartialName, isNoExport, isReadOnly, isRequired, setAlternateFieldName, setFieldFlags, setMappingName, setNoExport, setPartialName, setReadOnly, setRequired, toString
-
Field Details
-
FLAG_RADIO
static final int FLAG_RADIOA Ff flag. If set, the field is a set of radio buttons- See Also:
-
FLAG_PUSHBUTTON
static final int FLAG_PUSHBUTTONA Ff flag. If set, the field is a pushbutton.- See Also:
-
FLAG_RADIOS_IN_UNISON
static final int FLAG_RADIOS_IN_UNISONA 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:
-
-
Constructor Details
-
PDButton
- Parameters:
acroForm
- The acroform.- See Also:
-
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 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.usePDPushButton
insteadSet 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.usePDRadioButton
insteadSet the radio button bit.- Parameters:
radiobutton
- if true the button field is treated as a radio button field.
-
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
Sets the selected option given its name. It also tries to update the visual appearance, unlessPDAcroForm.getNeedAppearances()
is true.- Specified by:
setValue
in classPDField
- Parameters:
value
- Name of option to select- Throws:
IOException
- if the value could not be setIllegalArgumentException
- if the value is not a valid option.
-
setValue
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 setIllegalArgumentException
- if the index provided is not a valid index.
-
getDefaultValue
Returns the default value, if any.- Returns:
- A non-null string.
-
setDefaultValue
Sets the default value.- Parameters:
value
- Name of option to select- Throws:
IllegalArgumentException
- if the value is not a valid option.
-
getValueAsString
Description copied from class:PDField
Returns a string representation of the "V" entry, or an empty string.- Specified by:
getValueAsString
in classPDField
- Returns:
- The list of widget annotations.
-
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
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:
-
constructAppearances
Description copied from class:PDTerminalField
Constructs appearance streams and appearance dictionaries for all widget annotations. Subclasses should not call this method directly but viaPDTerminalField.applyChange()
.- Specified by:
constructAppearances
in classPDTerminalField
- Throws:
IOException
- if the appearance couldn't be generated
-
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
-
getOnValueForWidget
-
checkValue
Checks value.- Parameters:
value
- Name of radio button to select- Throws:
IllegalArgumentException
- if the value is not a valid option.
-
updateByValue
- Throws:
IOException
-
updateByOption
- Throws:
IOException
-
PDPushButton
instead