|
|
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
[1]
. 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 welche die Größe der Seite spezifizieren. 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:
Example #1 Verwaltung von PDF Dokumentseiten
... // 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]); ...
Bestehende PDF Seiten können durch das Erstellen eines neuen Zend_Pdf_Page Objektes
geklont werden indem eine existierende Seite als Parameter angegeben wird:
Example #2 Klonen bestehender Seiten
... // Die Template Seite in einer separaten Variable speichern $template = $pdf->pages[$templatePageIndex]; ... // Neue Seite hinzufügen $page1 = new Zend_Pdf_Page($template); $pdf->pages[] = $page1; ... // Andere Seite hinzufügen $page2 = new Zend_Pdf_Page($template); $pdf->pages[] = $page2; ... // Die Quell Template Seite von den Dokumenten entfernen unset($pdf->pages[$templatePageIndex]); ...
Das ist nützlich wenn verschiedene Seite mit Hilfe eines Templates erstellt werden sollen.
Wichtig! Geklonte Seiten verwenden die gleichen PDF Ressourcen mit der Template Seite. Diese kann also nur innerhalb des gleichen Dokuments als Template Seite verwendet werden. Modifizierte Dokumente können als neue abgespeichert werden.
|
|
Copyright © 2005-2011 Zend Technologies Inc (compiled by mikaelkael with ZFDocumentor - SVN 12872).

