11.4. Les pages d'un document

Les pages d'un document PDF sont representé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éer une page directement attaché au document. A la différence des pages non attachées à un document, elle ne peut-être utilisé dans plusieurs documents PDF, mais est un peu plus performante. [4]. 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éfinis, qui correspond au format du papier :

Les pages du document pages sont stockés dans l'attribut $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 tableau classique :

Exemple 11.4. Gestion des pages d'un document PDF

<?php
...
// Change 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é
unset($pdf->pages[$id]);

...
?>


[4] 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é à un document donneront toujours de meilleurs résultats pour partager une page entre plusieurs documents.