public class AcroTextField
extends java.lang.Object
Represents a text field in an interactive AcroForm.
Text fields can either be plain or 'rich'. Plain text fields return false
from hasRichTextValue()
, and their getValue()
function
will return a simple String object. Rich text fields return true from
hasRichTextValue()
, and their getValue()
function
will return an XHTML rich text string, as specified in Section 8.6.2 of the
PDF document specification.
Modifier and Type | Field and Description |
---|---|
protected com.snowtide.pdf.PDFTextStreamCallback |
callback |
FIELD_TYPE_BUTTON, FIELD_TYPE_CHOICE, FIELD_TYPE_OTHER, FIELD_TYPE_SIGNATURE, FIELD_TYPE_TEXT
Modifier and Type | Method and Description |
---|---|
boolean |
canChangeValue()
This function always returns true.
|
java.lang.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.
|
java.lang.String |
getFullName()
Returns the fully-qualified name of this field, which should be unique within a PDF document form.
|
java.lang.String |
getLocalName()
Returns the local name of the field, as specified in the /T entry in this field's PDF dictionary.
|
java.lang.String |
getMappingName()
Returns the 'mapping name' of this field, as specified in the /TM entry in this field's PDF dictionary.
|
int |
getMaxLength()
Returns the maximum length of this field, as specified by this form field's /MaxLen entry.
|
java.lang.String |
getName()
Returns the canonical name of this field.
|
java.lang.String |
getRichTextValue()
Returns the 'rich text' value for this field (XHTML that conforms to the XFA specification), if available.
|
java.lang.Object |
getType()
Returns the type of field, as specified in the /FT entry in this field's PDF dictionary.
|
java.lang.String |
getUIName()
Returns the user-friendly name of this field, as specified in the /TU entry in this field's PDF
dictionary.
|
java.lang.Object |
getValue()
Returns the value of this field, as specified in the /V entry in this field's PDF dictionary.
|
boolean |
hasRichTextValue()
Returns true only if the value of this field is 'rich text' (XHTML that conforms to the XFA specification),
which may be retrieved via the
getRichTextValue() function. |
boolean |
hasValueChanged()
Returns true only if this field's value has been changed since being loaded from the PDF document.
|
boolean |
isFileSelection()
Returns true if this is field is designated to hold the path of a user-selected file.
|
boolean |
isMultiline()
Returns true if this is a multiline text field.
|
boolean |
isPasswordEntry()
Returns true if this is a password-entry text field.
|
boolean |
isReadOnly()
Returns true only if this field is designated as read-only.
|
boolean |
setValue(java.lang.String val)
Sets the value of this text field.
|
public boolean setValue(java.lang.String val) throws java.lang.IllegalArgumentException
setValue
in interface AcroFormField
java.lang.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.public boolean canChangeValue()
canChangeValue
in interface AcroFormField
public int getMaxLength()
public java.lang.String getRichTextValue()
AcroFormField.getValue()
function.hasRichTextValue()
public boolean isMultiline()
public boolean isPasswordEntry()
public boolean isFileSelection()
public boolean hasRichTextValue()
getRichTextValue()
function. If this function returns false, then
the field's value is available via AcroFormField.getValue()
.getRichTextValue()
public boolean isReadOnly()
AcroFormField
isReadOnly
in interface AcroFormField
public java.lang.Object getDefaultValue()
AcroFormField
AcroFormField.getValue()
function, and depends upon the
type of this field.getDefaultValue
in interface AcroFormField
public java.lang.String getFullName()
AcroFormField
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.
getFullName
in interface AcroFormField
public java.lang.String getLocalName()
AcroFormField
FormField.getName()
implementation.getLocalName
in interface AcroFormField
public java.lang.String getMappingName()
AcroFormField
getMappingName
in interface AcroFormField
public java.lang.String getName()
FormField
FormField
instance with a particular name should be available from a Form
instance.public java.lang.Object getType()
AcroFormField
FIELD_TYPE_BUTTON
, then this AcroFormField
is an instance of AcroButtonField
FIELD_TYPE_TEXT
, then this AcroFormField
is an instance of AcroTextField
FIELD_TYPE_CHOICE
, then this AcroFormField
is an instance of AcroChoiceField
FIELD_TYPE_SIGNATURE
, then this AcroFormField
is an instance of AcroSignatureField
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.getType
in interface AcroFormField
public boolean hasValueChanged()
AcroFormField
hasValueChanged
in interface AcroFormField
public java.lang.String getUIName()
AcroFormField
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.
getUIName
in interface AcroFormField
getUIName
in interface FormField
public java.lang.Object getValue()
AcroFormField
getValue
in interface AcroFormField
getValue
in interface FormField