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
[email protected] 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 = true
True if the object is a newly created PDF document (affects save() method behavior)
False otherwise
Default valuetrue
Details- Type
- boolean
string $_javaScript = null
Document level javascript
Default valuenull
Details- 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 = 0
Original document outlines open elements count
Used to track outlines update
Default value0
Details- Type
- integer
array $_originalOutlines = array()
Original document outlines list
Used to track outlines update
Default valuearray()
Details- Type
- array
array $_pageNumbers = null
Pages collection hash:
=> Zend_Pdf_PageDefault valuenull
Details- 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_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 - ...)
ParametersName | Type | Description |
---|
$source | string | |
---|
$revision | integer | |
---|
$load | | |
---|
ReturnsThrows_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.
ParametersReturnsDetails- Todo
- Give appropriate name and make method public
_dumpPages() : void
Orginize 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 | null
Extract font attached to the page by specific font name
$fontName should be specified in UTF-8 encoding
ParametersName | Type | Description |
---|
$fontName | | |
---|
ReturnsThrowsextractFonts() : array
Extract fonts attached to the document
returns array of Zend_Pdf_Resource_Font_Extracted objects
ReturnsThrowsgetNamedDestinations() : 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'
Returnsload(string $source = null, integer $revision = null) : \Zend_Pdf
staticLoad PDF document from a file
ParametersName | Type | Description |
---|
$source | string | |
---|
$revision | integer | |
---|
Returns newPage(mixed $param1, mixed $param2 = null) : \Zend_Pdf_Page
Create 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);
---------------------------------------------------------
ParametersName | Type | Description |
---|
$param1 | mixed | |
---|
$param2 | mixed | |
---|
Returnsparse(string $source = null, integer $revision = null) : \Zend_Pdf
staticCreate new PDF document from a $source string
ParametersName | Type | Description |
---|
$source | string | |
---|
$revision | integer | |
---|
Returns pdfDate(integer $timestamp = null) : string
staticConvert date to PDF format (it's close to ASN.1 (Abstract Syntax Notation
One) defined in ISO/IEC 8824).
ParametersName | 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) : 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.
ParametersName | Type | Description |
---|
$newSegmentOnly | boolean | |
---|
$outputStream | resource | |
---|
ReturnsThrowsrollback(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.
ParametersName | 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.
ParametersName | Type | Description |
---|
$filename | string | |
---|
$updateOnly | boolean | |
---|
ThrowssetJavaScript(string $javascript) : void
Set the document-level JavaScript
ParametersName | Type | Description |
---|
$javascript | string | |
---|
setMetadata(string $metadata) : void
Sets the document-level Metadata (mast be valid XMP document)
ParametersName | Type | Description |
---|
$metadata | string | |
---|
setNamedDestination(string $name, $destination = null) : void
Set specified named destination
ParametersName | 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
ParametersDetails- Returns
- Zend_Pdf