SetaPDF_Core_Document_Page_Annotation Class representing a PDF annotation

File: /SetaPDF v2/Core/Document/Page/Annotation.php

See PDF 32000-1:2008 - 12.5

Class hierarchy

Summary

Constants

TYPE_3D

const string SetaPDF_Core_Document_Page_Annotation::TYPE_3D = '3D'

Annotation type

TYPE_CARET

const string SetaPDF_Core_Document_Page_Annotation::TYPE_CARET = 'Caret'

Annotation type

TYPE_CIRCLE

const string SetaPDF_Core_Document_Page_Annotation::TYPE_CIRCLE = 'Circle'

Annotation type

TYPE_FILE_ATTACHMENT

const string SetaPDF_Core_Document_Page_Annotation::TYPE_FILE_ATTACHMENT = 'FileAttachment'

Annotation type

TYPE_FREE_TEXT

const string SetaPDF_Core_Document_Page_Annotation::TYPE_FREE_TEXT = 'FreeText'

Annotation type

TYPE_HIGHLIGHT

const string SetaPDF_Core_Document_Page_Annotation::TYPE_HIGHLIGHT = 'Highlight'

Annotation type

TYPE_INK

const string SetaPDF_Core_Document_Page_Annotation::TYPE_INK = 'Ink'

Annotation type

TYPE_LINE

const string SetaPDF_Core_Document_Page_Annotation::TYPE_LINE = 'Line'

Annotation type

TYPE_LINK

const string SetaPDF_Core_Document_Page_Annotation::TYPE_LINK = 'Link'

Annotation type

TYPE_MOVIE

const string SetaPDF_Core_Document_Page_Annotation::TYPE_MOVIE = 'Movie'

Annotation type

TYPE_POLYGON

const string SetaPDF_Core_Document_Page_Annotation::TYPE_POLYGON = 'Polygon'

Annotation type

TYPE_POLY_LINE

const string SetaPDF_Core_Document_Page_Annotation::TYPE_POLY_LINE = 'PolyLine'

Annotation type

TYPE_POPUP

const string SetaPDF_Core_Document_Page_Annotation::TYPE_POPUP = 'Popup'

Annotation type

TYPE_PRINTER_MARK

const string SetaPDF_Core_Document_Page_Annotation::TYPE_PRINTER_MARK = 'PrinterMark'

Annotation type

TYPE_REDACT

const string SetaPDF_Core_Document_Page_Annotation::TYPE_REDACT = 'Redact'

Annotation type

TYPE_SCREEN

const string SetaPDF_Core_Document_Page_Annotation::TYPE_SCREEN = 'Screen'

Annotation type

TYPE_SOUND

const string SetaPDF_Core_Document_Page_Annotation::TYPE_SOUND = 'Sound'

Annotation type

TYPE_SQUARE

const string SetaPDF_Core_Document_Page_Annotation::TYPE_SQUARE = 'Square'

Annotation type

TYPE_SQUIGGLY

const string SetaPDF_Core_Document_Page_Annotation::TYPE_SQUIGGLY = 'Squiggly'

Annotation type

TYPE_STAMP

const string SetaPDF_Core_Document_Page_Annotation::TYPE_STAMP = 'Stamp'

Annotation type

TYPE_STRIKE_OUT

const string SetaPDF_Core_Document_Page_Annotation::TYPE_STRIKE_OUT = 'StrikeOut'

Annotation type

TYPE_TEXT

const string SetaPDF_Core_Document_Page_Annotation::TYPE_TEXT = 'Text'

Annotation type

TYPE_TRAP_NET

const string SetaPDF_Core_Document_Page_Annotation::TYPE_TRAP_NET = 'TrapNet'

Annotation type

TYPE_UNDERLINE

const string SetaPDF_Core_Document_Page_Annotation::TYPE_UNDERLINE = 'Underline'

Annotation type

TYPE_WATERMARK

const string SetaPDF_Core_Document_Page_Annotation::TYPE_WATERMARK = 'Watermark'

Annotation type

TYPE_WIDGET

const string SetaPDF_Core_Document_Page_Annotation::TYPE_WIDGET = 'Widget'

Annotation type


Properties

$_additionalActions

protected SetaPDF_Core_Document_Page_Annotation_AdditionalActions SetaPDF_Core_Document_Page_Annotation::$_additionalActions

$_annotationDictionary

protected SetaPDF_Core_Type_Dictionary SetaPDF_Core_Document_Page_Annotation::$_annotationDictionary

The annotation dictionary

$_indirectReference

protected SetaPDF_Core_Type_IndirectObjectInterface SetaPDF_Core_Document_Page_Annotation::$_indirectReference

$_rect

protected SetaPDF_Core_DataStructure_Rectangle SetaPDF_Core_Document_Page_Annotation::$_rect

The rectangle


Static Methods

_createAnnotationDictionary()

Creates an annotation dictionary with default values.

Parameters
$rect : SetaPDF_Core_DataStructure_Rectangle|array
 
$subtype : string
 

Methods

cleanUp()

Release memory/cycled references

getAdditionalActions()

Gets the additional actions object instance for this annotation.

getAnnotationDictionary()

getAppearance()

public SetaPDF_Core_Document_Page_Annotation::getAppearance (
[ string $type = 'N' [, null|string $subType = null ]]
): null|SetaPDF_Core_XObject_Form

Get the annotation appearance stream.

Parameters
$type : string
 
$subType : null|string
 
Exceptions

Throws InvalidArgumentException

getColor()

Get the color of the annotation.

getContents()

public SetaPDF_Core_Document_Page_Annotation::getContents (
[ string $encoding = 'UTF-8' ]
): null|string

Get the contents of the annotation.

Parameters
$encoding : string
 

getDictionary()

getHeight()

Get the height of the annotation.

getHiddenFlag()

Checks for the "Hidden" flag.

PDF 32000-1:2008 - Table 165: "If set, do not display or print the annotation or allow it to interact with the user, regardless of its annotation type or whether an annotation handler is available."

getIndirectObject()

Get the indirect object of this annotation.

Parameters
$document : SetaPDF_Core_Document
 

getInvisibleFlag()

Checks for the "Invisible" flag.

PDF 32000-1:2008 - Table 165: "If set, do not display the annotation if it does not belong to one of the standard annotation types and no annotation handler is available. If clear, display such an unknown annotation using an appearance stream specified by its appearance dictionary, if any"

getLockedContents()

Checks for the "LockedContents" flag.

PDF 32000-1:2008 - Table 165: "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."

getLockedFlag()

Checks the "Locked" flag.

PDF 32000-1:2008 - Table 165: "If set, do not allow the annotation to be deleted or its properties (including position and size) to be modified by the user. However, this flag does not restrict changes to the annotation’s contents, such as the value of a form field."

getModificationDate()

Get the modification date.

Parameters
$asString : bool
 

getName()

public SetaPDF_Core_Document_Page_Annotation::getName (
[ string $encoding = 'UTF-8' ]
): mixed|null

Get the name of the annotation.

Parameters
$encoding : string
 

getNoRotateFlag()

Checks fo the "NoRotate" flag.

PDF 32000-1:2008 - Table 165: "If set, do not rotate the annotation’s appearance to match the rotation of the page. The upper-left corner of the annotation rectangle shall remain in a fixed location on the page, regardless of the page rotation."

getNoViewFlag()

Checks for the "NoView" flag.

PDF 32000-1:2008 - Table 165: "If set, do not display the annotation on the screen or allow it to interact with the user. The annotation may be printed (depending on the setting of the Print flag) but should be considered hidden for purposes of on-screen display and user interaction."

getNoZoomFlag()

Checks fo the "NoZoom" flag.

PDF 32000-1:2008 - Table 165: "If set, do not scale the annotation’s appearance to match the magnification of the page. The location of the annotation on the page (defined by the upper- left corner of its annotation rectangle) shall remain fixed, regardless of the page magnification."

getPrintFlag()

Checks for the "Print" flag.

PDF 32000-1:2008 - Table 165: "If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of whether it is displayed on the screen."

getReadOnlyFlag()

Checks the "ReadOnly" flag.

PDF 32000-1:2008 - Table 165: "If set, do not allow the annotation to interact with the user. The annotation may be displayed or printed (depending on the settings of the NoView and Print flags) but should not respond to mouse clicks or change its appearance in response to mouse motions.

This flag shall be ignored for widget annotations; its function is subsumed by the ReadOnly flag of the associated form field"

getRect()

Get the rectangle object of this annotation.

getToggleNoView()

Checks for the "ToggleNoView" flag.

PDF 32000-1:2008 - Table 165: "If set, invert the interpretation of the NoView flag for certain events."

getType()

Get the action type specified in the S key.

getWidth()

Get the width of the annotation.

isAnnotationFlagSet()

Checks if a specific annotation flag is set.

Parameters
$flag : integer
 

setAnnotationFlags()

public SetaPDF_Core_Document_Page_Annotation::setAnnotationFlags (
integer $flags [, boolean $set = true ]
): void

Sets an annotation flag.

Parameters
$flags : integer
 
$set : boolean

Set or unset

setAppearance()

public SetaPDF_Core_Document_Page_Annotation::setAppearance (
SetaPDF_Core_XObject_Form $xObject [, string $type = 'N' [, string|null $subState = null ]]
): void

Set the annotation appearance stream.

Parameters
$xObject : SetaPDF_Core_XObject_Form
 
$type : string
 
$subState : string|null
 

setColor()

public SetaPDF_Core_Document_Page_Annotation::setColor (
null|bool|int|float|string|array|SetaPDF_Core_DataStructure_Color $color
): void

Set the color of the annotation.

Parameters
$color : null|bool|int|float|string|array|SetaPDF_Core_DataStructure_Color
 

setContents()

public SetaPDF_Core_Document_Page_Annotation::setContents (
string|null $contents [, string $encoding = 'UTF-8' ]
): void

Set the contents of the annotation.

Parameters
$contents : string|null
 
$encoding : string
 

setHiddenFlag()

public SetaPDF_Core_Document_Page_Annotation::setHiddenFlag (
[ boolean $hidden = true ]
): void

Set the "Hidden" flag.

Parameters
$hidden : boolean
 
See

setIndirectObject()

Set the indirect object of this annotation.

Parameters
$indirectReference : SetaPDF_Core_Type_IndirectObjectInterface
 

setInvisibleFlag()

public SetaPDF_Core_Document_Page_Annotation::setInvisibleFlag (
[ boolean $invisible = true ]
): void

Set the "Invisible" flag.

Parameters
$invisible : boolean
 
See

setLocked()

public SetaPDF_Core_Document_Page_Annotation::setLocked (
[ boolean $locked = true ]
): void

Set the "Locked" flag.

Parameters
$locked : boolean
 
See

setLockedContents()

public SetaPDF_Core_Document_Page_Annotation::setLockedContents (
[ boolean $lockedContents = true ]
): void

Set the "LockedContents" flag.

Parameters
$lockedContents : boolean
 
See

setModificationDate()

Set the modification date.

Parameters
$date : SetaPDF_Core_DataStructure_Date|DateTime|string|bool

If true is passed, the current date and time will be used.

setName()

public SetaPDF_Core_Document_Page_Annotation::setName (
string|null $name [, string $encoding = 'UTF-8' ]
): void

Set the name of the annotation.

The annotation name, a text string uniquely identifying it among all the annotations on its page.

Parameters
$name : string|null
 
$encoding : string
 

setNoRotateFlag()

public SetaPDF_Core_Document_Page_Annotation::setNoRotateFlag (
[ boolean $noRotate = true ]
): void

Set the "NoRotate" flag.

Parameters
$noRotate : boolean
 
See

setNoViewFlag()

public SetaPDF_Core_Document_Page_Annotation::setNoViewFlag (
[ boolean $noView = true ]
): void

Set the "NoView" flag.

Parameters
$noView : boolean
 
See

setNoZoomFlag()

public SetaPDF_Core_Document_Page_Annotation::setNoZoomFlag (
[ boolean $noZoom = true ]
): void

Set the "NoZoom" flag.

Parameters
$noZoom : boolean
 
See

setPrintFlag()

public SetaPDF_Core_Document_Page_Annotation::setPrintFlag (
[ boolean $print = true ]
): void

Set the "Print" flag.

Parameters
$print : boolean
 
See

setReadOnlyFlag()

public SetaPDF_Core_Document_Page_Annotation::setReadOnlyFlag (
[ boolean $readOnly = true ]
): void

Set the "ReadOnly" flag.

Parameters
$readOnly : boolean
 
See

setRect()

setToggleNoView()

public SetaPDF_Core_Document_Page_Annotation::setToggleNoView (
[ boolean $toggleNoView = true ]
): void

Set the "ToggleNoView" flag.

Parameters
$toggleNoView : boolean
 
See

unsetAnnotationFlags()

Removes a field flag.

Parameters
$flags : integer