java.lang.Object
org.sejda.sambox.pdmodel.common.PDDictionaryWrapper
org.sejda.sambox.pdmodel.interactive.annotation.PDAnnotation
- All Implemented Interfaces:
COSObjectable
- Direct Known Subclasses:
PDAnnotationLink,PDAnnotationMarkup,PDAnnotationPopup,PDAnnotationUnknown,PDAnnotationWidget
A PDF annotation.
- Author:
- Ben Litchfield
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intAn annotation flag.static final intAn annotation flag.static final intAn annotation flag.static final intAn annotation flag.static final intAn annotation flag.static final intAn annotation flag.static final intAn annotation flag.static final intAn annotation flag.static final intAn annotation flag. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidCreate the appearance entry for this annotation.static PDAnnotationcreateAnnotation(COSBase base) Create the correct annotation from the base COS object.static <T extends PDAnnotation>
TcreateAnnotation(COSDictionary dictionary, Class<T> expectedType) Create the annotation of the expected type from the given dictionary.intThis will get the flags for this field.This will get the name, a string intended to uniquely identify each annotation within a page.This will get the appearance dictionary associated with this annotation.Returns the annotations appearance state, which selects the applicable appearance stream from an appearance subdictionary.This will retrieve the border array.getColor()This will retrieve the color used in drawing various elements.Get the "contents" of the field.This will retrieve the date and time the annotation was modified.Returns the appearance stream for this annotation, if any.This will get the optional content group or optional content membership dictionary for the annotation.getPage()This will retrieve the corresponding page of this annotation.The annotation rectangle, defining the location of the annotation on the page in default user space units.intThis will get the key of this annotation in the structural parent tree.This will retrieve the subtype of the annotation.booleanisHidden()Get the hidden flag.booleanGet the invisible flag.booleanisLocked()Get the locked flag.booleanGet the LockedContents flag.booleanGet the noRotate flag.booleanisNoView()Get the noView flag.booleanisNoZoom()Get the noZoom flag.booleanGet the printed flag.booleanGet the readOnly flag.booleanGet the toggleNoView flag.voidsetAnnotationFlags(int flags) This will set the flags for this field.voidThis will set the name, a string intended to uniquely identify each annotation within a page.voidsetAppearance(PDAppearanceDictionary appearance) This will set the appearance associated with this annotation.voidThis will set the annotations appearance state name.voidThis will set the border array.voidThis will set the color used in drawing various elements.voidsetContents(String value) Set the "contents" of the field.voidsetHidden(boolean hidden) Set the hidden flag.voidsetInvisible(boolean invisible) Set the invisible flag.voidsetLocked(boolean locked) Set the locked flag.voidsetLockedContents(boolean lockedContents) Set the LockedContents flag.voidThis will set the date and time the annotation was modified.voidThis will set the date and time the annotation was modified.voidsetNoRotate(boolean noRotate) Set the noRotate flag.voidsetNoView(boolean noView) Set the noView flag.voidsetNoZoom(boolean noZoom) Set the noZoom flag.voidSets the optional content group or optional content membership dictionary for the annotation.voidThis will set the corresponding page for this annotation.voidsetPrinted(boolean printed) Set the printed flag.voidsetReadOnly(boolean readOnly) Set the readOnly flag.voidsetRectangle(PDRectangle rectangle) This will set the rectangle for this annotation.voidsetStructParent(int structParent) This will set the key for this annotation in the structural parent tree.voidsetToggleNoView(boolean toggleNoView) Set the toggleNoView flag.Methods inherited from class org.sejda.sambox.pdmodel.common.PDDictionaryWrapper
equals, getCOSObject, hashCode
-
Field Details
-
FLAG_INVISIBLE
public static final int FLAG_INVISIBLEAn annotation flag.- See Also:
-
FLAG_HIDDEN
public static final int FLAG_HIDDENAn annotation flag.- See Also:
-
FLAG_PRINTED
public static final int FLAG_PRINTEDAn annotation flag.- See Also:
-
FLAG_NO_ZOOM
public static final int FLAG_NO_ZOOMAn annotation flag.- See Also:
-
FLAG_NO_ROTATE
public static final int FLAG_NO_ROTATEAn annotation flag.- See Also:
-
FLAG_NO_VIEW
public static final int FLAG_NO_VIEWAn annotation flag.- See Also:
-
FLAG_READ_ONLY
public static final int FLAG_READ_ONLYAn annotation flag.- See Also:
-
FLAG_LOCKED
public static final int FLAG_LOCKEDAn annotation flag.- See Also:
-
FLAG_TOGGLE_NO_VIEW
public static final int FLAG_TOGGLE_NO_VIEWAn annotation flag.- See Also:
-
-
Constructor Details
-
PDAnnotation
public PDAnnotation() -
PDAnnotation
-
-
Method Details
-
createAnnotation
public static <T extends PDAnnotation> T createAnnotation(COSDictionary dictionary, Class<T> expectedType) Create the annotation of the expected type from the given dictionary.- Returns:
- The correctly typed annotation object.
-
createAnnotation
Create the correct annotation from the base COS object.- Parameters:
base- The COS object that is the annotation.- Returns:
- The correctly typed annotation object.
-
getRectangle
The annotation rectangle, defining the location of the annotation on the page in default user space units. This is usually required and should not return null on valid PDF documents. But where this is a parent form field with children, such as radio button collections then the rectangle will be null.- Returns:
- The Rect value of this annotation.
-
setRectangle
This will set the rectangle for this annotation.- Parameters:
rectangle- The new rectangle values.
-
getAnnotationFlags
public int getAnnotationFlags()This will get the flags for this field.- Returns:
- flags The set of flags.
-
setAnnotationFlags
public void setAnnotationFlags(int flags) This will set the flags for this field.- Parameters:
flags- The new flags.
-
getAppearanceState
Returns the annotations appearance state, which selects the applicable appearance stream from an appearance subdictionary. -
setAppearanceState
This will set the annotations appearance state name.- Parameters:
as- The name of the appearance stream.
-
getAppearance
This will get the appearance dictionary associated with this annotation. This may return null.- Returns:
- This annotations appearance.
-
setAppearance
This will set the appearance associated with this annotation.- Parameters:
appearance- The appearance dictionary for this annotation.
-
getNormalAppearanceStream
Returns the appearance stream for this annotation, if any. The annotation state is taken into account, if present. -
isInvisible
public boolean isInvisible()Get the invisible flag.- Returns:
- The invisible flag.
-
setInvisible
public void setInvisible(boolean invisible) Set the invisible flag.- Parameters:
invisible- The new invisible flag.
-
isHidden
public boolean isHidden()Get the hidden flag.- Returns:
- The hidden flag.
-
setHidden
public void setHidden(boolean hidden) Set the hidden flag.- Parameters:
hidden- The new hidden flag.
-
isPrinted
public boolean isPrinted()Get the printed flag.- Returns:
- The printed flag.
-
setPrinted
public void setPrinted(boolean printed) Set the printed flag.- Parameters:
printed- The new printed flag.
-
isNoZoom
public boolean isNoZoom()Get the noZoom flag.- Returns:
- The noZoom flag.
-
setNoZoom
public void setNoZoom(boolean noZoom) Set the noZoom flag.- Parameters:
noZoom- The new noZoom flag.
-
isNoRotate
public boolean isNoRotate()Get the noRotate flag.- Returns:
- The noRotate flag.
-
setNoRotate
public void setNoRotate(boolean noRotate) Set the noRotate flag.- Parameters:
noRotate- The new noRotate flag.
-
isNoView
public boolean isNoView()Get the noView flag.- Returns:
- The noView flag.
-
setNoView
public void setNoView(boolean noView) Set the noView flag.- Parameters:
noView- The new noView flag.
-
isReadOnly
public boolean isReadOnly()Get the readOnly flag.- Returns:
- The readOnly flag.
-
setReadOnly
public void setReadOnly(boolean readOnly) Set the readOnly flag.- Parameters:
readOnly- The new readOnly flag.
-
isLocked
public boolean isLocked()Get the locked flag.- Returns:
- The locked flag.
-
setLocked
public void setLocked(boolean locked) Set the locked flag.- Parameters:
locked- The new locked flag.
-
isToggleNoView
public boolean isToggleNoView()Get the toggleNoView flag.- Returns:
- The toggleNoView flag.
-
setToggleNoView
public void setToggleNoView(boolean toggleNoView) Set the toggleNoView flag.- Parameters:
toggleNoView- The new toggleNoView flag.
-
isLockedContents
public boolean isLockedContents()Get the LockedContents flag.- Returns:
- The LockedContents flag.
- See Also:
-
setLockedContents
public void setLockedContents(boolean lockedContents) Set the LockedContents flag. If set, do not allow the contents of the annotation to be modified by the user. This flag does not restrict deletion of the annotation or changes to other annotation properties, such as position and size.- Parameters:
lockedContents- The new LockedContents flag value.- Since:
- PDF 1.7
- See Also:
-
- PDF 32000-1:2008 12.5.3, Table 165
isLockedContents()FLAG_LOCKED_CONTENTS
-
getContents
Get the "contents" of the field.- Returns:
- the value of the contents.
-
setContents
Set the "contents" of the field.- Parameters:
value- the value of the contents.
-
getModifiedDate
This will retrieve the date and time the annotation was modified.- Returns:
- the modified date/time (often in date format, but can be an arbitary string).
-
setModifiedDate
This will set the date and time the annotation was modified.- Parameters:
m- the date and time the annotation was created. Date values used in a PDF shall conform to a standard date format, which closely follows that of the international standard ASN.1 (Abstract Syntax Notation One), defined in ISO/IEC 8824. A date shall be a text string of the form (D:YYYYMMDDHHmmSSOHH'mm). Alternatively, usesetModifiedDate(java.util.Calendar)
-
setModifiedDate
This will set the date and time the annotation was modified.- Parameters:
c- the date and time the annotation was created.
-
getAnnotationName
This will get the name, a string intended to uniquely identify each annotation within a page. Not to be confused with some annotations Name entry which impact the default image drawn for them.- Returns:
- The identifying name for the Annotation.
-
setAnnotationName
This will set the name, a string intended to uniquely identify each annotation within a page. Not to be confused with some annotations Name entry which impact the default image drawn for them.- Parameters:
nm- The identifying name for the annotation.
-
getStructParent
public int getStructParent()This will get the key of this annotation in the structural parent tree.- Returns:
- the integer key of the annotation's entry in the structural parent tree
-
setStructParent
public void setStructParent(int structParent) This will set the key for this annotation in the structural parent tree.- Parameters:
structParent- The new key for this annotation.
-
getOptionalContent
This will get the optional content group or optional content membership dictionary for the annotation.- Returns:
- The optional content group or optional content membership dictionary or null if there is none.
-
setOptionalContent
Sets the optional content group or optional content membership dictionary for the annotation.- Parameters:
oc- The optional content group or optional content membership dictionary.
-
getBorder
This will retrieve the border array. If none is available then it will create and return a default array, which is [0 0 1]. The array consists of at least three numbers defining the horizontal corner radius, vertical corner radius, and border width. The array may have a fourth element, an optional dash array defining a pattern of dashes and gaps that shall be used in drawing the border. If the array has less than three elements, the original array will be copied and missing elements with value 0 will be added.- Returns:
- the border array.
-
setBorder
This will set the border array.- Parameters:
borderArray- the border array to set.
-
setColor
This will set the color used in drawing various elements. As of PDF 1.6 these are : Background of icon when closed Title bar of popup window Border of a link annotationColour is in DeviceRGB colourspace
- Parameters:
c- colour in the DeviceRGB colourspace
-
getColor
This will retrieve the color used in drawing various elements. As of PDF 1.6 these are :- Background of icon when closed
- Title bar of popup window
- Border of a link annotation
- Returns:
- Color object representing the colour
-
getColor
-
getSubtype
This will retrieve the subtype of the annotation.- Returns:
- the subtype
-
setPage
This will set the corresponding page for this annotation. This is optional but recommended. Not doing it can cause trouble when PDFs get signed.- Parameters:
page- is the corresponding page
-
getPage
This will retrieve the corresponding page of this annotation.- Returns:
- the corresponding page
-
constructAppearances
public void constructAppearances()Create the appearance entry for this annotation. Not having it may prevent display in some viewers. This method is for overriding in subclasses, the default implementation does nothing.
-