11.2. Créer et charger des documents PDF

La classe Zend_Pdf represente le document PDF en lui-même et fournis des méthode pour manipuler l'ensemble du document.

Pour créer un nouveau document un nouvel objet Zend_Pdf doit être créé.

La class Zend_Pdf fournis deux méthodes statiques pour charger un PDF existant. Ce sont les méthodes Zend_Pdf::load() et Zend_Pdf::parse(). Les deux retournent un objet Zend_Pdf ou lance une exception en cas d'erreur.

Exemple 11.1. Créer un nouveau document PDF ou en charger un existant

<?php
...
/// Crée un nouveau document PDF.
$pdf1 = new Zend_Pdf();

// Charge un document PDF depuis un fichier.
$pdf2 = Zend_Pdf::load($fileName);

// Charge un document PDF depuis une string
$pdf3 = Zend_Pdf::parse($pdfString);
...
?>

Le format de fichier PDF supporte la mise à jour incrementale d'un document. Ainsi chaque fois que le document est mis à jour, une nouvelle version du document est crée. Le module Zend_Pdf supporte la récupération d'une version spécifique.

La version peut-être donné en second paramètre des méthodes Zend_Pdf::load() et Zend_Pdf::parse() ou obligatoire dans le cas d'un appel à Zend_Pdf::rollback() [3]

Exemple 11.2. Demander une version particulière d'un document PDF

<?php
...
// Charge la version précedente d'un document PDF.
$pdf1 = Zend_Pdf::load($fileName, 1);

// Charge la version précedente d'un document PDF.
$pdf2 = Zend_Pdf::parse($pdfString, 1);

// Charge la première version d'un document
$pdf3 = Zend_Pdf::load($fileName);
$revisions = $pdf3->revisions();
$pdf3->rollback($revisions - 1);
...
?>


[3] La méthode Zend_Pdf::rollback() doit être appellé avant tout changement. Sinon le comportement est indéfinis.