Creating and Loading PDF DocumentsΒΆ

The Zend_Pdf class represents PDF documents and provides document-level operations.

To create a new document, a new Zend_Pdf object should first be created.

Zend_Pdf class also provides two static methods to load an existing PDF document. These are the Zend_Pdf::load() and Zend_Pdf::parse() methods. Both of them return Zend_Pdf objects as a result or throw an exception if an error occurs.

Create new or load existing PDF document

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
...
// Create a new PDF document
$pdf1 = new Zend_Pdf();

// Load a PDF document from a file
$pdf2 = Zend_Pdf::load($fileName);

// Load a PDF document from a string
$pdf3 = Zend_Pdf::parse($pdfString);
...

The PDF file format supports incremental document update. Thus each time a document is updated, then a new revision of the document is created. Zend_Pdf component supports the retrieval of a specified revision.

A revision can be specified as a second parameter to the Zend_Pdf::load() and Zend_Pdf::parse() methods or requested by calling the Zend_Pdf::rollback() method. [1] call.

Requesting Specific Revisions of a PDF Document

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
...
// Load the previous revision of the PDF document
$pdf1 = Zend_Pdf::load($fileName, 1);

// Load the previous revision of the PDF document
$pdf2 = Zend_Pdf::parse($pdfString, 1);

// Load the first revision of the PDF document
$pdf3 = Zend_Pdf::load($fileName);
$revisions = $pdf3->revisions();
$pdf3->rollback($revisions - 1);
...
[1]Zend_Pdf::rollback() method must be invoked before any changes are applied to the document, otherwise the behavior is not defined.

Project Versions

This Page

Edit this document

Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.

  1. Login with your GitHub account.
  2. Go to Creating and Loading PDF Documents on GitHub.
  3. Edit file contents using GitHub's text editor in your web browser
  4. Fill in the Commit message text box at the end of the page telling why you did the changes. Press Propose file change button next to it when done.
  5. On Send a pull request page you don't need to fill in text anymore. Just press Send pull request button.
  6. Your changes are now queued for review under project's Pull requests tab on GitHub.