SetaPDF_Stamper_Stamp_XObject The XObject stamp class
File: /SetaPDF v2/Stamper/Stamp/XObject.php
This stamp class is able to use a SetaPDF_Core_XObject
instance as its stamp appearance.
XObjects could be images or so called form XObjects.
A form XObject is a PDF content stream that is a self-contained description of any sequence of graphics objects (including path objects, text objects and sampled images).
This stamp class allows you to stamp separately form XObjects or image XObjects. A form XObject could include for example drawing operations:
// Create a form XObject with the dimensions of 100 x 100 $xObject = SetaPDF_Core_XObject_Form::create($document, array(0, 0, 100, 100)); $canvas = $xObject->getCanvas(); $canvas->path()->setLineWidth(1); $canvas->draw() ->rect(0, 0, 100, 100) // Draw a rectangle into the form XObject ->circle(50, 50, 50); // Draw a circle into the form XObject $stamp = new SetaPDF_Stamper_Stamp_XObject($xObject);
Class hierarchy
Summary
Methods
- __construct()
- _cacheStampData()
- _ensureResources()
- _getOpacityGraphicState()
- _getVisibilityGroup()
- _postStamp()
- _preStamp()
- _putAction()
- _stamp()
- _stampByCache()
- cleanUp()
- getAction()
- getDimensions()
- getHeight()
- getOpacity()
- getOpacityBlendMode()
- getOptionalContentGroup()
- getOriginX()
- getOriginY()
- getVisibility()
- getWidth()
- getXObject()
- setAction()
- setDimensions()
- setHeight()
- setLink()
- setOpacity()
- setOptionalContentGroup()
- setVisibility()
- setWidth()
- setXObject()
- stamp()
- updateCacheCounter()
Constants
VISIBILITY_ALL
Visibility constant
VISIBILITY_PRINT
Visibility constant
VISIBILITY_VIEW
Visibility constant
Properties
$_dataCache
$_height
The individual height of the image
$_opacityGs
Graphic state objects for handling transparency
Array of SetaPDF_Core_Resource_ExtGState
objects
$_width
The individual width of the image
Methods
__construct()
_cacheStampData()
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
See
_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()
Method which is called after the main stamp method is executed.
Parameters
- $document : SetaPDF_Core_Document
- $page : SetaPDF_Core_Document_Page
- $stampData : array
_preStamp()
Method which is called before the main stamp method is executed.
Parameters
- $document : SetaPDF_Core_Document
- $page : SetaPDF_Core_Document_Page
- $stampData : array
_putAction()
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()
Writes the xobject draw operators of this stamp onto the canvas.
Parameters
- $document : SetaPDF_Core_Document
- $page : SetaPDF_Core_Document_Page
- $stampData : array
_stampByCache()
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
getHeight()
Get the height of the XObject stamp.
If no individual height is given the height will be received from the XObject object by forwarding an individual width (if available) to keep the aspect ratio.
getOptionalContentGroup()
Get the optional content group for this stamp.
getOriginX()
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()
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
getWidth()
Get the width of the XObject stamp.
If no individual width is given the width will be received from the XObject object by forwarding an individual height (if available) to keep the aspect ratio.
setAction()
Add an action object to the stamp object.
Parameters
- $action : SetaPDF_Core_Document_Action
The action object
setDimensions()
Set the dimensions of this stamp.
Parameters
- $width : float|integer
The new width
- $height : float|integer
The new height
setHeight()
Set the individual height if the XObject stamp.
Parameters
- $height : float|integer
The new height
setOpacity()
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()
Set the optional content group for this stamp.
Parameters
- $optionalContentGroup : SetaPDF_Core_Document_OptionalContent_Group|null
setVisibility()
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
setWidth()
Set the individual width of the XObject stamp.
Parameters
- $width : float|integer
The new width
setXObject()
stamp()
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