SetaPDF_Stamper_Stamp The abstract base stamp class

File: /SetaPDF v2/Stamper/Stamp.php

Class hierarchy

Summary

Constants

VISIBILITY_ALL

public const string SetaPDF_Stamper_Stamp::VISIBILITY_ALL = 'all'

Visibility constant

VISIBILITY_PRINT

public const string SetaPDF_Stamper_Stamp::VISIBILITY_PRINT = 'print'

Visibility constant

VISIBILITY_VIEW

public const string SetaPDF_Stamper_Stamp::VISIBILITY_VIEW = 'view'

Visibility constant


Properties

$_action

The currently attached action object

$_blendMode

protected string SetaPDF_Stamper_Stamp::$_blendMode = 'Normal'

The blend mode

$_cacheCounter

protected integer SetaPDF_Stamper_Stamp::$_cacheCounter = 0

An internal used id for forcing a recreation if a property was changed

$_dataCache

The cache data for the stamp

See

$_opacity

protected float SetaPDF_Stamper_Stamp::$_opacity = 1.0

The opacity

$_opacityGs

protected array SetaPDF_Stamper_Stamp::$_opacityGs = array()

Graphic state objects for handling transparency

Array of SetaPDF_Core_Resource_ExtGState objects

$_optionalContentGroup

An optional content groups that should be used for the stamp

$_visibility

protected string SetaPDF_Stamper_Stamp::$_visibility = 'all'

The visibility property


Methods

_cacheStampData()

protected SetaPDF_Stamper_Stamp::_cacheStampData (
string $cacheKey, string $stream, array $quadPoints
): void

Caches a content stream part.

Parameters
$cacheKey : string
 
$stream : string
 
$quadPoints : array
 

_ensureResources()

Ensures that all stamp resources are added to the page.

This is needed to reuse a cached stamp stream.

Parameters
$document : SetaPDF_Core_Document
 
$page : SetaPDF_Core_Document_Page
 
Return Values

An array of resource names

_getOpacityGraphicState()

Get and caches opacity graphic states.

Parameters
$document : SetaPDF_Core_Document
 
$opacity : float
 

_getVisibilityGroup()

Get and adds the visibility group of this stamp to a document.

Parameters
$document : SetaPDF_Core_Document
 

_postStamp()

protected SetaPDF_Stamper_Stamp::_postStamp (
SetaPDF_Core_Document $document, SetaPDF_Core_Document_Page $page, array $stampData
): array|null

Method which is called after the main stamp method is executed.

Parameters
$document : SetaPDF_Core_Document
 
$page : SetaPDF_Core_Document_Page
 
$stampData : array
 

_preStamp()

protected SetaPDF_Stamper_Stamp::_preStamp (
SetaPDF_Core_Document $document, SetaPDF_Core_Document_Page $page, array $stampData
): void

Method which is called before the main stamp method is executed.

Parameters
$document : SetaPDF_Core_Document
 
$page : SetaPDF_Core_Document_Page
 
$stampData : array
 

_putAction()

protected SetaPDF_Stamper_Stamp::_putAction (
SetaPDF_Core_Document $document, SetaPDF_Core_Document_Page $page, array $stampData, number $xy1, number $xy2, number $xy3, number $xy4
): void

Put the action via an link annotation above the stamp object.

Parameters
$document : SetaPDF_Core_Document
 
$page : SetaPDF_Core_Document_Page
 
$stampData : array
 
$xy1 : number
 
$xy2 : number
 
$xy3 : number
 
$xy4 : number
 

_stamp()

abstract protected SetaPDF_Stamper_Stamp::_stamp (
SetaPDF_Core_Document $document, SetaPDF_Core_Document_Page $page, array $stampData
): bool

Stamp this stamp object onto a page.

Parameters
$document : SetaPDF_Core_Document
 
$page : SetaPDF_Core_Document_Page
 
$stampData : array
 

_stampByCache()

protected SetaPDF_Stamper_Stamp::_stampByCache (
SetaPDF_Core_Document $document, SetaPDF_Core_Document_Page $page, array $stampData
): true|string

Try to stamp with the page with a cached content stream part.

Parameters
$document : SetaPDF_Core_Document
 
$page : SetaPDF_Core_Document_Page
 
$stampData : array
 
Return Values

True if the stamp was written by a cache object, a cache key if it was not found

Exceptions

Throws SetaPDF_Stamper_Exception

getAction()

Get the current attached action.

getDimensions()

public SetaPDF_Stamper_Stamp::getDimensions (
void
): array

Get the stamp dimension.

getHeight()

abstract public SetaPDF_Stamper_Stamp::getHeight (
void
): float|integer

Get the height of the stamp object.

getOpacity()

public SetaPDF_Stamper_Stamp::getOpacity (
void
): number

Get the opacity.

getOpacityBlendMode()

Get the blend mode.

See
  • PDF 32000-1:2008 - 11.3.5, "Blend Mode"

getOptionalContentGroup()

Get the optional content group for this stamp.

getOriginX()

public SetaPDF_Stamper_Stamp::getOriginX (
SetaPDF_Core_Document_Page $page, string $position
): float|int

Get the x-origin in view to the position of the stamp object.

Parameters
$page : SetaPDF_Core_Document_Page

The page instance

$position : string

Position constant SetaPDF_Stamper::POSITION_XXX

getOriginY()

public SetaPDF_Stamper_Stamp::getOriginY (
SetaPDF_Core_Document_Page $page, string $position
): float|int

Get the y-origin in view to the position of the stamp object.

Parameters
$page : SetaPDF_Core_Document_Page

The page instance

$position : string

Position constant SetaPDF_Stamper::POSITION_XXX

getVisibility()

public SetaPDF_Stamper_Stamp::getVisibility (
void
): null|string

Get the visibility of the stamp object.

getWidth()

abstract public SetaPDF_Stamper_Stamp::getWidth (
void
): float|integer

Get the width of the stamp object.

setAction()

Add an action object to the stamp object.

Parameters
$action : SetaPDF_Core_Document_Action

The action object

setLink()

public SetaPDF_Stamper_Stamp::setLink (
string $uri
): void

Set a link onto the stamp.

Parameters
$uri : string

The link

See

setOpacity()

public SetaPDF_Stamper_Stamp::setOpacity (
float $alpha [, string $blendMode = 'Normal' ]
): void

Set the opacity and blend mode of the stamp object.

Parameters
$alpha : float

A value between 0 and 1, whereas 1 is defined as 100% opacity

$blendMode : string

A blend mode defined in PDF 32000-1:2008 - 11.3.5, "Blend Mode"

Exceptions

Throws InvalidArgumentException

setOptionalContentGroup()

public SetaPDF_Stamper_Stamp::setOptionalContentGroup (
[ SetaPDF_Core_Document_OptionalContent_Group|null $optionalContentGroup = null ]
): void

Set the optional content group for this stamp.

Parameters
$optionalContentGroup : SetaPDF_Core_Document_OptionalContent_Group|null
 

setVisibility()

public SetaPDF_Stamper_Stamp::setVisibility (
null|string $visibility
): void

Set the visibility of the stamp object.

This method controls the visibility of the stamp object on screen view and/or printer output.

Parameters
$visibility : null|string

Use the constants VISIBILITY_XXX or null(equal to VISIBILITY_ALL)

Exceptions

Throws InvalidArgumentException

stamp()

public SetaPDF_Stamper_Stamp::stamp (
SetaPDF_Core_Document $document, SetaPDF_Core_Document_Page $page, array $stampData
): bool

Stamp this stamp object onto a page.

Parameters
$document : SetaPDF_Core_Document

The document object

$page : SetaPDF_Core_Document_Page

The page object

$stampData : array

The stampData array

updateCacheCounter()

Updates the cache counter.