24.4. Les pages d'un document

Les pages d'un document PDF sont représentés par la classe Zend_Pdf_Page

Les pages d'un PDF proviennent d'un PDF existant, ou sont créées à partir de rien.

Une nouvelle page peut-être obtenu en créant un nouvel objet Zend_Pdf_Page ou en appellant la méthode Zend_Pdf::newPage()qui renvoit un objet Zend_Pdf_Page. La différence est que la méthode Zend_Pdf::newPage() crée une page directement attachée au document. A la différence des pages non attachées à un document, elle ne peut-être utilisée dans plusieurs documents PDF, mais est un peu plus performante. [6]. C'est à vous de choisir quel approche doit-être utilisée.

Les méthodes Zend_Pdf::newPage() et Zend_Pdf_Page prennent le même paramètre. C'est la taille de la page ($x, $y) en point (1/72 inch soit 0,352778 mm), ou une constante prédéfinie, qui correspond au format du papier :

Les pages du document sont stockées dans l'attribut public $pages de la classe Zend_Pdf. C'est un tableau d'objet Zend_Pdf_Page. Il définit l'ensemble des pages, ainsi que l'ordre de celle-ci et peut-être manipulé comme un tableau classique :

Exemple 24.4. Gestion des pages d'un document PDF

<?php
...
// Inverse l'ordre des pages
$pdf->pages = array_reverse($pdf->pages);
...
// Ajoute une nouvelle page
$pdf->pages[] = new Zend_Pad_Page(Zend_Pdf_Page::SIZE_A4);
// Ajoute une nouvelle page
$pdf->pages[] = $pdf->newPage(Zend_Pdf_Page::SIZE_A4);

// Retire la page spécifiée
unset($pdf->pages[$id]);

...
?>


[6] C'est une limitation de la version 1.0 du module Zend_Pdf. Ce sera corrigé dans une future version. Mais les pages non attachées à un document donneront toujours de meilleurs résultats pour partager une page entre plusieurs documents.