Pdf.php
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.
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
- Package
- Zend_Pdf
- Version
- $Id$
Package: Zend_PdfGeneral 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)
- Category
- Zend
- Copyright
- Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com)
- License
- New BSD License
Constants


PDF_VERSION
= '1.4'Version number of generated PDF documents.
Properties



array $_inheritableAttributes = array('Resources', 'MediaBox', 'CropBox', 'Rotate')staticList of inheritable attributesfor pages tree
Default valuearray('Resources', 'MediaBox', 'CropBox', 'Rotate')Details- Type
- array



boolean $_isNewDocument = trueTrue if the object is a newly created PDF document (affects save() method behavior)
False otherwise
Default valuetrueDetails- Type
- boolean



string $_javaScript = nullDocument level javascript
Default valuenullDetails- Type
- string



array $_namedTargets = array()Document named destinations or "GoTo.
.." actions, used to refer
document parts from outside PDF
Default valuearray()Details- Type
- array



integer $_originalOpenOutlinesCount = 0Original document outlines open elements count
Used to track outlines update
Default value0Details- Type
- integer



array $_originalOutlines = array()Original document outlines list
Used to track outlines update
Default valuearray()Details- Type
- array



array $_pageNumbers = nullPages collection hash:
=> Zend_Pdf_PageDefault valuenullDetails- Type
- array



array $properties = array()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)
Default valuearray()Details- Type
- array
Methods



__construct(string $source = null, integer $revision = null, $load = false) : \Zend_PdfCreates 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 - ...)
Parameters| Name | Type | Description |
|---|
| $source | string | |
|---|
| $revision | integer | |
|---|
| $load | | |
|---|
ReturnsThrows


_cleanUpAction(\Zend_Pdf_Action $action, $refreshPageCollectionHashes = true) : \Zend_Pdf_Action | nullWalk 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.
ParametersReturnsDetails- Todo
- Give appropriate name and make method public



_dumpPages() : voidOrginize pages to tha pages tree structure.
Details- Todo
- atomatically attach page to the document, if it's not done yet.
- Todo
- check, that page is attached to the current document
- Todo
- Dump pages as a balanced tree instead of a plain set.



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


extractFonts() : arrayExtract fonts attached to the document
returns array of Zend_Pdf_Resource_Font_Extracted objects
ReturnsThrows


getNamedDestinations() : arrayReturn 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'
Returns


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


newPage(mixed $param1, mixed $param2 = null) : \Zend_Pdf_PageCreate page object, attached to the PDF document.
Method signatures:
1. Create new page with a specified pagesize.
If $factory is null then it will be created and page must be attached to the document to be
included into output.
---------------------------------------------------------
new Zend_Pdf_Page(string $pagesize);
---------------------------------------------------------
2. Create new page with a specified pagesize (in default user space units).
If $factory is null then it will be created and page must be attached to the document to be
included into output.
---------------------------------------------------------
new Zend_Pdf_Page(numeric $width, numeric $height);
---------------------------------------------------------
Parameters| Name | Type | Description |
|---|
| $param1 | mixed | |
|---|
| $param2 | mixed | |
|---|
Returns


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


pdfDate(integer $timestamp = null) : stringstaticConvert date to PDF format (it's close to ASN.1 (Abstract Syntax Notation
One) defined in ISO/IEC 8824).
Parameters| Name | Type | Description |
|---|
| $timestamp | integer | (optional) If omitted, uses the current time. |
|---|
ReturnsDetails- Todo
- This really isn't the best location for this method. It should
probably actually exist as Zend_Pdf_Element_Date or something like that.
- Todo
- Address the following E_STRICT issue:
PHP Strict Standards: date(): It is not safe to rely on the system's
timezone settings. Please use the date.timezone setting, the TZ
environment variable or the date_default_timezone_set() function. In
case you used any of those methods and you are still getting this
warning, you most likely misspelled the timezone identifier.



render(boolean $newSegmentOnly = false, resource $outputStream = null) : stringRender 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.
Parameters| Name | Type | Description |
|---|
| $newSegmentOnly | boolean | |
|---|
| $outputStream | resource | |
|---|
ReturnsThrows


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



save(string $filename, boolean $updateOnly = false) : voidRender 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.
Parameters| Name | Type | Description |
|---|
| $filename | string | |
|---|
| $updateOnly | boolean | |
|---|
Throws


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



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



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



setOpenAction(\Zend_Pdf_Target $openAction = null) : voidSet open Action which is actually Zend_Pdf_Destination or Zend_Pdf_Action object
ParametersDetails- Returns
- Zend_Pdf