public class AcroSignatureField
extends java.lang.Object
Represents a digital signature field in an interactive AcroForm.
PDFTextStream does not provide higher-level support for this type of field, and its value cannot be updated
(calling setValue(String)
on an AcroSignatureField
will result in an
UnsupportedOperationException
exception being thrown).
However, all of a signature field's raw data may be accessed via getValue(), which will return a java.util.Map object containing dictionary values as specified by Section 8.6.3 ('Signature Fields') and Table 8.9.3 in 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 returns true only if this form field is of a subtype that supports setting its value.
|
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.
|
java.lang.String |
getName()
Returns the canonical name of this field.
|
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 |
hasValueChanged()
Returns true only if this field's value has been changed since being loaded from the PDF document.
|
boolean |
isReadOnly()
Returns true only if this field is designated as read-only.
|
boolean |
setValue(java.lang.String arg0)
Sets the value of this form field.
|
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 setValue(java.lang.String arg0) throws java.lang.UnsupportedOperationException
AcroFormField
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 AcroFormField.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.
setValue
in interface AcroFormField
java.lang.UnsupportedOperationException
- - if an AcroFormField implementation does not support updates.public boolean hasValueChanged()
AcroFormField
hasValueChanged
in interface AcroFormField
public boolean canChangeValue()
AcroFormField
canChangeValue
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