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 :
Zend_Pdf_Page::SIZE_A4
Zend_Pdf_Page::SIZE_A4_LANDSCAPE
Zend_Pdf_Page::SIZE_LETTER
Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE
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.