Die Abstraktion von PDF Dokumentseiten wird durch die Klasse Zend_Pdf_Page
abgebildet.
PDF Seiten werden entweder aus einem vorhandenen PDF gelesen oder erstellt.
Neue Seiten können durch die Erstellung eines neuen Zend_Pdf_Page
Objektes
oder durch den Aufruf der Zend_Pdf::newPage()
Methode erhalten werden, die ein
Zend_Pdf_Page
Objekt zurückgibt. Der Unterschied ist, dass die
Zend_Pdf::newPage()
Methode eine Seite erstellt, die bereits an das vorhandene
Dokument angehängt worden ist. Im Gegensatz dazu können ungebundene Seiten bei verschiedenen
PDF Dokumenten verwendet werden und sind ein wenig performanter
[6]. Du hast die Wahl, welche Vorgehensweise verwendet werden sollte.
Die Zend_Pdf::newPage()
Methode und der Zend_Pdf_Page
Konstruktor
benötigen die gleichen Parameter. Das ist entweder die Seitengröße ($x, $y) in Punkten
(1/72 Zoll) oder eine vordefinierte Konstante, die als Seitentyp verwendet wird:
Zend_Pdf_Page::SIZE_A4
Zend_Pdf_Page::SIZE_A4_LANDSCAPE
Zend_Pdf_Page::SIZE_LETTER
Zend_Pdf_Page::SIZE_LETTER_LANDSCAPE
Dokumentseiten werden in der öffentlichen Eigenschaft $pages
der
Zend_Pdf
Klasse abgelegt. Dies ist ein Array mit Zend_Pdf_Page
Objekten. Es definiert den Satz und die Reihenfolge der Dokumentseiten und kann
wie ein normales Array verändert werden:
Beispiel 24.4. Verwaltung von PDF Dokumentseiten
<?php ... // Umgekehrte Seitenreihenfolge $pdf->pages = array_reverse($pdf->pages); ... // Füge eine neue Seite hinzu $pdf->pages[] = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4); // Füge eine neue Seite hinzu $pdf->pages[] = $pdf->newPage(Zend_Pdf_Page::SIZE_A4); // Entferne eine bestimmte Seite unset($pdf->pages[$id]); ... ?>
[6] Dies ist eine Einschränkung der V1.0 Version der Zend_Pdf Komponente. Sie wird in zukünftigen Versionen beseitigt werden. Aber ungebundene Seiten werden immer ein besseres (also optimaleres) Ergebnis für gemeinsame Benutzung in Dokumenten liefern.