Zend Framework
LICENSE
This source file is subject to the new BSD license that is bundled with this package in the file LICENSE.txt. It is also available through the world-wide-web at this URL: http://framework.zend.com/license/new-bsd If you did not receive a copy of the license and are unable to obtain it through the world-wide-web, please send an email to license@zend.com so we can send you a copy immediately.
General entity which describes PDF document.
It implements document abstraction with a document level operations.
Class is used to create new PDF document or load existing document. See details in a class constructor description
Class agregates document level properties and entities (pages, bookmarks, document level actions, attachments, form object, etc)

array
$_inheritableAttributes= 'array('Resources''
List of inheritable attributesfor pages tree
array('Resources'
Details
boolean
$_isNewDocument= 'true'
True if the object is a newly created PDF document (affects save() method behavior) False otherwise
true
Details
array
$_namedTargets= 'array()'
Document named destinations or "GoTo..." actions, used to refer document parts from outside PDF
- array of Zend_Pdf_Target objectsarray()
Details
integer
$_originalOpenOutlinesCount= '0'
Original document outlines open elements count Used to track outlines update
0
Details
array
$_originalOutlines= 'array()'
Original document outlines list Used to track outlines update
- array of Zend_Pdf_Outline objectsarray()
Details
array
$_originalProperties= 'array()'
Original properties set.
Used for tracking properties changes
array()
Details
array
$_pageNumbers= 'null'
Pages collection hash: <page number> => Zend_Pdf_Page
null
Details
\SplObjectStorage
$_pageReferences= 'null'
Pages collection hash: <page dictionary object hash id> => Zend_Pdf_Page

\Zend_Pdf_Parser
$_parser= ''
Pdf file parser.
It's not used, but has to be destroyed only with Zend_Pdf object

array
$outlines= 'array()'
Document outlines
- array of Zend_Pdf_Outline objectsarray()
Details
array
$pages= 'array()'
Pages collection
- array of Zend_Pdf_Page objectarray()
Details
array
$properties= 'array()'
Document properties
It's an associative array with PDF meta information, values may be string, boolean or float. Returned array could be used directly to access, add, modify or remove document properties.
Standard document properties: Title (must be set for PDF/X documents), Author, Subject, Keywords (comma separated list), Creator (the name of the application, that created document, if it was converted from other format), Trapped (must be true, false or null, can not be null for PDF/X documents)
array()
Details
__construct(
string $source
=
null, integer $revision
=
null, $load
=
false
)
:
\Zend_Pdf
Creates or loads PDF document.
If $source is null, then it creates a new document.
If $source is a string and $load is false, then it loads document from a binary string.
If $source is a string and $load is true, then it loads document from a file.
$revision used to roll back document to specified version (0 - current version, 1 - previous version, 2 - ...)
Name | Type | Description |
---|---|---|
$source | string |
|
$revision | integer | |
$load |
Type | Description |
---|---|
\Zend_Pdf |
Exception | Description |
---|---|
\Zend_Pdf_Exception |

_cleanUpAction(
\Zend_Pdf_Action $action, $refreshPageCollectionHashes
=
true
)
:
\Zend_Pdf_Action|null
Walk through action and its chained actions tree and remove nodes if they are GoTo actions with an unresolved target.
Returns null if root node is deleted or updated action overwise.
Name | Type | Description |
---|---|---|
$action | \Zend_Pdf_Action | |
$refreshPageCollectionHashes |
Type | Description |
---|---|
\Zend_Pdf_Action|null |

_dumpNamedDestinations(
)
:
void
Dump named destinations

_dumpPages(
)
:
void
Orginize pages to tha pages tree structure.

_loadNamedDestinations(
\Zend_Pdf_Element_Reference $root, string $pdfHeaderVersion
)
:
void
Load named destinations recursively
Name | Type | Description |
---|---|---|
$root | \Zend_Pdf_Element_Reference | Document catalog entry |
$pdfHeaderVersion | string |
Exception | Description |
---|---|
\Zend_Pdf_Exception |

_loadOutlines(
\Zend_Pdf_Element_Reference $root
)
:
void
Load outlines recursively
Name | Type | Description |
---|---|---|
$root | \Zend_Pdf_Element_Reference | Document catalog entry |

_loadPages(
\Zend_Pdf_Element_Reference $pages, array|null $attributes
=
array()
)
:
void
Load pages recursively
Name | Type | Description |
---|---|---|
$pages | \Zend_Pdf_Element_Reference | |
$attributes | array|null |

extractFont(
$fontName
)
:
\Zend_Pdf_Resource_Font_Extracted|null
Extract font attached to the page by specific font name
$fontName should be specified in UTF-8 encoding
Name | Type | Description |
---|---|---|
$fontName |
Type | Description |
---|---|
\Zend_Pdf_Resource_Font_Extracted|null |
Exception | Description |
---|---|
\Zend_Pdf_Exception |

extractFonts(
)
:
array
Extract fonts attached to the document
returns array of Zend_Pdf_Resource_Font_Extracted objects
Type | Description |
---|---|
array |
Exception | Description |
---|---|
\Zend_Pdf_Exception |

getJavaScript(
)
:
string
Return the document-level JavaScript or null if there is no JavaScript for this document
Type | Description |
---|---|
string |

getMemoryManager(
)
:
\Zend_Memory_Manager
Request used memory manager
Type | Description |
---|---|
\Zend_Memory_Manager |

getMetadata(
)
:
string
Return the document-level Metadata or null Metadata stream is not presented
Type | Description |
---|---|
string |

getNamedDestination(
string $name
)
:
\Zend_Pdf_Destination_Explicit|\Zend_Pdf_Action_GoTo
Return specified named destination
Name | Type | Description |
---|---|---|
$name | string |
Type | Description |
---|---|
\Zend_Pdf_Destination_Explicit|\Zend_Pdf_Action_GoTo |

getNamedDestinations(
)
:
array
Return an associative array containing all the named destinations (or GoTo actions) in the PDF.
Named targets can be used to reference from outside the PDF, ex: 'http://www.something.com/mydocument.pdf#MyAction'
Type | Description |
---|---|
array |

getOpenAction(
)
:
\Zend_Pdf_Target
Get open Action Returns Zend_Pdf_Target (Zend_Pdf_Destination or Zend_Pdf_Action object)
Type | Description |
---|---|
\Zend_Pdf_Target |

load(
string $source
=
null, integer $revision
=
null
)
:
\Zend_Pdf
Load PDF document from a file
Name | Type | Description |
---|---|---|
$source | string | |
$revision | integer |
Type | Description |
---|---|
\Zend_Pdf |

newPage(
mixed $param1, mixed $param2
=
null
)
:
\Zend_Pdf_Page
Create page object, attached to the PDF document.
Method signatures:
Name | Type | Description |
---|---|---|
$param1 | mixed | |
$param2 | mixed |
Type | Description |
---|---|
\Zend_Pdf_Page |

parse(
string $source
=
null, integer $revision
=
null
)
:
\Zend_Pdf
Create new PDF document from a $source string
Name | Type | Description |
---|---|---|
$source | string | |
$revision | integer |
Type | Description |
---|---|
\Zend_Pdf |

pdfDate(
integer $timestamp
=
null
)
:
string
Convert date to PDF format (it's close to ASN.1 (Abstract Syntax Notation One) defined in ISO/IEC 8824).
Name | Type | Description |
---|---|---|
$timestamp | integer | (optional) If omitted, uses the current time. |
Type | Description |
---|---|
string |

render(
boolean $newSegmentOnly
=
false, resource $outputStream
=
null
)
:
string
Render the completed PDF to a string.
If $newSegmentOnly is true and it's not a new document, then only appended part of PDF is returned.
Name | Type | Description |
---|---|---|
$newSegmentOnly | boolean | |
$outputStream | resource |
Type | Description |
---|---|
string |
Exception | Description |
---|---|
\Zend_Pdf_Exception |

resolveDestination(
\Zend_Pdf_Destination $destination, $refreshPageCollectionHashes
=
true
)
:
\Zend_Pdf_Page|null
Resolve destination.
Returns Zend_Pdf_Page page object or null if destination is not found within PDF document.
Name | Type | Description |
---|---|---|
$destination | \Zend_Pdf_Destination | Destination to resolve |
$refreshPageCollectionHashes |
Type | Description |
---|---|
\Zend_Pdf_Page|null |
Exception | Description |
---|---|
\Zend_Pdf_Exception |

rollback(
integer $steps
)
:
void
Rollback document $steps number of revisions.
This method must be invoked before any changes, applied to the document. Otherwise behavior is undefined.
Name | Type | Description |
---|---|---|
$steps | integer |

save(
string $filename, boolean $updateOnly
=
false
)
:
void
Render PDF document and save it.
If $updateOnly is true and it's not a new document, then it only appends new section to the end of file.
Name | Type | Description |
---|---|---|
$filename | string | |
$updateOnly | boolean |
Exception | Description |
---|---|
\Zend_Pdf_Exception |

setJavaScript(
string $javascript
)
:
void
Set the document-level JavaScript
Name | Type | Description |
---|---|---|
$javascript | string |

setMemoryManager(
\Zend_Memory_Manager $memoryManager
)
:
void
Set user defined memory manager
Name | Type | Description |
---|---|---|
$memoryManager | \Zend_Memory_Manager |

setMetadata(
string $metadata
)
:
void
Sets the document-level Metadata (mast be valid XMP document)
Name | Type | Description |
---|---|---|
$metadata | string |

setNamedDestination(
string $name, $destination
=
null
)
:
void
Set specified named destination
Name | Type | Description |
---|---|---|
$name | string | |
$destination |

setOpenAction(
\Zend_Pdf_Target $openAction
=
null
)
:
void
Set open Action which is actually Zend_Pdf_Destination or Zend_Pdf_Action object