public class PdfAcroForm extends PdfObjectWrapper<PdfDictionary>
| Modifier and Type | Field and Description |
|---|---|
static int |
APPEND_ONLY
To be used with
setSignatureFlags(int). |
protected PdfDocument |
document
The PdfDocument to which the PdfAcroForm belongs.
|
protected Map<String,PdfFormField> |
fields
A map of field names and their associated
form field
objects. |
protected boolean |
generateAppearance
Keeps track of whether or not appearances must be generated by the form
fields themselves, or by the PDF viewer application.
|
static int |
SIGNATURE_EXIST
To be used with
setSignatureFlags(int). |
| Modifier and Type | Method and Description |
|---|---|
void |
addField(PdfFormField field)
This method adds the field to the last page in the document.
|
void |
addField(PdfFormField field,
PdfPage page)
This method adds the field to a specific page.
|
void |
addFieldAppearanceToPage(PdfFormField field,
PdfPage page)
This method merges field with its annotation and place it on the given
page.
|
PdfFormField |
copyField(String name)
Creates an in-memory copy of a
PdfFormField. |
void |
flattenFields()
Flattens interactive
form fields in the document. |
static PdfAcroForm |
getAcroForm(PdfDocument document,
boolean createIfNotExist)
Retrieves AcroForm from the document.
|
PdfArray |
getCalculationOrder()
Gets the
CO array property on the AcroForm. |
PdfString |
getDefaultAppearance()
Gets the
DA String property on the AcroForm. |
PdfNumber |
getDefaultJustification()
Gets the
Q integer property on the AcroForm. |
PdfDictionary |
getDefaultResources()
Gets the
DR dictionary property on the AcroForm. |
PdfFormField |
getField(String fieldName)
Gets a
form field by its name. |
protected PdfArray |
getFields()
Gets all AcroForm fields in the document.
|
Collection<PdfFormField> |
getFieldsForFlattening()
Gets a collection of
form fields, prepared for flattening using partialFormFlattening(java.lang.String) method. |
Map<String,PdfFormField> |
getFormFields()
Gets the
form fields as a Map. |
PdfBoolean |
getNeedAppearances()
Gets the
NeedAppearances boolean property on the AcroForm. |
PdfDocument |
getPdfDocument()
Gets the
PdfDocument this PdfAcroForm belongs to. |
int |
getSignatureFlags()
Gets the
SigFlags integer property on the AcroForm. |
XfaForm |
getXfaForm()
Gets the
XfaForm atribute. |
PdfObject |
getXFAResource()
Gets the
XFA property on the AcroForm. |
boolean |
hasXfaForm()
Determines whether the AcroForm contains XFA data.
|
boolean |
isGenerateAppearance()
Gets the attribute generateAppearance, which tells
flattenFields()
to generate an appearance Stream for all form fields
that don't have one. |
protected boolean |
isWrappedObjectMustBeIndirect() |
void |
partialFormFlattening(String fieldName)
Adds a
form field, identified by name, to the list of fields to be flattened. |
PdfAcroForm |
put(PdfName key,
PdfObject value) |
void |
release()
Releases underlying pdf object and other pdf entities used by wrapper.
|
boolean |
removeField(String fieldName)
Tries to remove the
form field with the specified
name from the document. |
void |
removeXfaForm()
Removes the XFA stream from the document.
|
void |
renameField(String oldName,
String newName)
Changes the identifier of a
form field. |
void |
replaceField(String name,
PdfFormField field)
Replaces the
PdfFormField of a certain name with another
PdfFormField. |
PdfAcroForm |
setCalculationOrder(PdfArray calculationOrder)
Sets the
CO array property on the AcroForm. |
PdfAcroForm |
setDefaultAppearance(String appearance)
Sets the
DA String property on the AcroForm. |
PdfAcroForm |
setDefaultJustification(int justification)
Sets the
Q integer property on the AcroForm. |
PdfAcroForm |
setDefaultResources(PdfDictionary defaultResources)
Sets the
DR dictionary property on the AcroForm. |
void |
setGenerateAppearance(boolean generateAppearance)
Sets the attribute generateAppearance, which tells
flattenFields()
to generate an appearance Stream for all form fields
that don't have one. |
PdfObjectWrapper<PdfDictionary> |
setModified() |
PdfAcroForm |
setNeedAppearances(boolean needAppearances)
Sets the
NeedAppearances boolean property on the AcroForm. |
PdfAcroForm |
setSignatureFlag(int sigFlag)
Changes the
SigFlags integer property on the AcroForm. |
PdfAcroForm |
setSignatureFlags(int sigFlags)
Sets the
SigFlags integer property on the AcroForm. |
PdfAcroForm |
setXFAResource(PdfArray xfaResource)
Sets the
XFA property on the AcroForm. |
PdfAcroForm |
setXFAResource(PdfStream xfaResource)
Sets the
XFA property on the AcroForm. |
ensureObjectIsAddedToDocument, ensureUnderlyingObjectHasIndirectReference, flush, getPdfObject, isFlushed, makeIndirect, makeIndirect, markObjectAsIndirect, setForbidRelease, setPdfObject, unsetForbidReleasepublic static final int SIGNATURE_EXIST
setSignatureFlags(int).
If set, the document contains at least one signature field. This flag allows a conforming reader to enable user interface items (such as menu items or pushbuttons) related to signature processing without having to scan the entire document for the presence of signature fields. (ISO 32000-1, section 12.7.2 "Interactive Form Dictionary")
public static final int APPEND_ONLY
setSignatureFlags(int).
If set, the document contains signatures that may be invalidated if the file is saved (written) in a way that alters its previous contents, as opposed to an incremental update. Merely updating the file by appending new information to the end of the previous version is safe. Conforming readers may use this flag to inform a user requesting a full save that signatures will be invalidated and require explicit confirmation before continuing with the operation. (ISO 32000-1, section 12.7.2 "Interactive Form Dictionary")
protected boolean generateAppearance
true.protected Map<String,PdfFormField> fields
form field
objects.protected PdfDocument document
public static PdfAcroForm getAcroForm(PdfDocument document, boolean createIfNotExist)
document - the document to retrieve the PdfAcroForm fromcreateIfNotExist - when true, this method will create a PdfAcroForm if none exists for this documentdocument's AcroForm,
or a new one provided that createIfNotExist parameter is true, otherwise null.public void addField(PdfFormField field)
field - the PdfFormField to be added to the formpublic void addField(PdfFormField field, PdfPage page)
field - the PdfFormField to be added to the formpage - the PdfPage on which to add the fieldpublic void addFieldAppearanceToPage(PdfFormField field, PdfPage page)
field - the PdfFormField to be added to the formpage - the PdfPage on which to add the fieldpublic Map<String,PdfFormField> getFormFields()
form fields as a Map.form field objectspublic Collection<PdfFormField> getFieldsForFlattening()
form fields, prepared for flattening using partialFormFlattening(java.lang.String) method.
If returned collection is empty, all form fields will be flattened on flattenFields call.form fields for flatteningpublic PdfDocument getPdfDocument()
PdfDocument this PdfAcroForm belongs to.public PdfAcroForm setNeedAppearances(boolean needAppearances)
NeedAppearances boolean property on the AcroForm.
NeedAppearances has been deprecated in PDF 2.0.
NeedAppearances is a flag specifying whether to construct appearance streams and appearance dictionaries for all widget annotations in the document. (ISO 32000-1, section 12.7.2 "Interactive Form Dictionary")
needAppearances - a boolean. Default value is falsepublic PdfBoolean getNeedAppearances()
NeedAppearances boolean property on the AcroForm.
NeedAppearances has been deprecated in PDF 2.0.
NeedAppearances is a flag specifying whether to construct appearance streams and appearance dictionaries for all widget annotations in the document. (ISO 32000-1, section 12.7.2 "Interactive Form Dictionary")
NeedAppearances property as a PdfBoolean. Default value is falsepublic PdfAcroForm setSignatureFlags(int sigFlags)
SigFlags integer property on the AcroForm.
SigFlags is a set of flags specifying various document-level characteristics related to signature fields. (ISO 32000-1, section 12.7.2 "Interactive Form Dictionary")
sigFlags - an integer. Use SIGNATURE_EXIST and/or APPEND_ONLY.
Use bitwise OR operator to combine these values. Default value is 0public PdfAcroForm setSignatureFlag(int sigFlag)
SigFlags integer property on the AcroForm.
This method allows only to add flags, not to remove them.
SigFlags is a set of flags specifying various document-level characteristics related to signature fields. (ISO 32000-1, section 12.7.2 "Interactive Form Dictionary")
sigFlag - an integer. Use SIGNATURE_EXIST and/or APPEND_ONLY.
Use bitwise OR operator to combine these values. Default is 0public int getSignatureFlags()
SigFlags integer property on the AcroForm.
SigFlags is a set of flags specifying various document-level characteristics related to signature fields (ISO 32000-1, section 12.7.2 "Interactive Form Dictionary")
SigFlags.public PdfAcroForm setCalculationOrder(PdfArray calculationOrder)
CO array property on the AcroForm.
CO, Calculation Order, is an array of indirect references to
field dictionaries with calculation actions, defining the calculation
order in which their values will be recalculated when the value of any
field changes
(ISO 32000-1, section 12.7.2 "Interactive Form Dictionary")
calculationOrder - an array of indirect referencespublic PdfArray getCalculationOrder()
CO array property on the AcroForm.
CO, Calculation Order, is an array of indirect references to
field dictionaries with calculation actions, defining the calculation
order in which their values will be recalculated when the value of any
field changes
(ISO 32000-1, section 12.7.2 "Interactive Form Dictionary")
public PdfAcroForm setDefaultResources(PdfDictionary defaultResources)
DR dictionary property on the AcroForm.
DR is a resource dictionary containing default resources
(such as fonts, patterns, or colour spaces) that shall be used by form
field appearance streams. At a minimum, this dictionary shall contain a
Font entry specifying the resource name and font dictionary of the
default font for displaying text.
(ISO 32000-1, section 12.7.2 "Interactive Form Dictionary")
defaultResources - a resource dictionarypublic PdfDictionary getDefaultResources()
DR dictionary property on the AcroForm.
DR is a resource dictionary containing default resources
(such as fonts, patterns, or colour spaces) that shall be used by form
field appearance streams. At a minimum, this dictionary shall contain a
Font entry specifying the resource name and font dictionary of the
default font for displaying text.
(ISO 32000-1, section 12.7.2 "Interactive Form Dictionary")
public PdfAcroForm setDefaultAppearance(String appearance)
DA String property on the AcroForm.
DA
attribute of variable text form fields.appearance - a String containing a sequence of valid PDF syntaxPdfFormField.setDefaultAppearance(java.lang.String)public PdfString getDefaultAppearance()
DA String property on the AcroForm.
DA
attribute of variable text form fields.Stringpublic PdfAcroForm setDefaultJustification(int justification)
Q integer property on the AcroForm.
Q
attribute of variable text form fields.justification - an integer representing a justification valuePdfFormField.setJustification(int)public PdfNumber getDefaultJustification()
Q integer property on the AcroForm.
Q
attribute of variable text form fields.PdfFormField.getJustification()public PdfAcroForm setXFAResource(PdfStream xfaResource)
XFA property on the AcroForm.
XFA can either be a PdfStream or a PdfArray.
Its contents must be valid XFA.xfaResource - a stream containing the XDPpublic PdfAcroForm setXFAResource(PdfArray xfaResource)
XFA property on the AcroForm.
XFA can either be a PdfStream or a PdfArray.
Its contents must be valid XFA.xfaResource - an array of text string and stream pairs representing
the individual packets comprising the XML Data Package. (ISO 32000-1,
section 12.7.2 "Interactive Form Dictionary")public PdfObject getXFAResource()
XFA property on the AcroForm.public PdfFormField getField(String fieldName)
form field by its name.fieldName - the name of the form field to retrieveform field, or null if it
isn't presentpublic boolean isGenerateAppearance()
flattenFields()
to generate an appearance Stream for all form fields
that don't have one.public void setGenerateAppearance(boolean generateAppearance)
flattenFields()
to generate an appearance Stream for all form fields
that don't have one.
Not generating appearances will speed up form flattening but the results
can be unexpected in Acrobat. Don't use it unless your environment is
well controlled. The default is true.
If generateAppearance is set to true, then
NeedAppearances is set to false. This does not
apply vice versa.
Note, this method does not change default behaviour of PdfFormField.setValue(String) method.
generateAppearance - a booleanpublic void flattenFields()
form fields in the document. If
no fields have been explicitly included via partialFormFlattening(java.lang.String),
then all fields are flattened. Otherwise only the included fields are
flattened.public boolean removeField(String fieldName)
form field with the specified
name from the document.fieldName - the name of the form field to removepublic void partialFormFlattening(String fieldName)
form field, identified by name, to the list of fields to be flattened.
Does not perform a flattening operation in itself.fieldName - the name of the form field to be flattenedpublic void renameField(String oldName, String newName)
form field.oldName - the current name of the fieldnewName - the new name of the field. Must not be used currently.public PdfFormField copyField(String name)
PdfFormField. This new field is
not added to the document.name - the name of the form field to be copiedPdfFormFieldpublic void replaceField(String name, PdfFormField field)
PdfFormField of a certain name with another
PdfFormField.name - the name of the form field to be replacedfield - the new PdfFormFieldprotected PdfArray getFields()
PdfArray of field dictionariesprotected boolean isWrappedObjectMustBeIndirect()
isWrappedObjectMustBeIndirect in class PdfObjectWrapper<PdfDictionary>public boolean hasXfaForm()
public void removeXfaForm()
public PdfAcroForm put(PdfName key, PdfObject value)
public void release()
PdfObject.release() if the wrapper is used.public PdfObjectWrapper<PdfDictionary> setModified()
setModified in class PdfObjectWrapper<PdfDictionary>Copyright © 1998–2020 iText Group NV. All rights reserved.