13.4. Dokument Seiten

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 [4]. 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:

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 13.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]);

...
?>


[4] 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.