Das eigene PDF

Einführung in die Zend_Pdf-Komponente des Zend Frameworks
Kommentare

Einbinden von Grafiken
Das Zeichnen der geometrischen Elemente ist zwar ganz brauchbar – doch möchten Sie sicherlich auch mal fertige Grafiken in Ihr PDF integrieren, oder? Das siebte Beispiel in Listing

Einbinden von Grafiken

Das Zeichnen der geometrischen Elemente ist zwar ganz brauchbar – doch möchten Sie sicherlich auch mal fertige Grafiken in Ihr PDF integrieren, oder? Das siebte Beispiel in Listing 9 demonstriert die einfache Vorgehensweise für diese Anforderung. Mithilfe der Methode Zend_Pdf_Image::imageWithPath() wird eine Grafik geladen und in ein Zend_Pdf_Image-Objekt umgewandelt. Das Zeichnen übernimmt dann die drawImage()-Methode. Hierbei wird als erster Parameter das Zend_Pdf_Image-Objekt angegeben. Danach folgen vier Parameter für die Koordinaten für zwei Ecken. In unserem Beispiel sind das die linke untere Ecke und die rechte obere Ecke. Wenn Sie zuerst die linke obere Ecke und danach die rechte untere Ecke angeben, wird die Grafik gespiegelt. Das Verzerren einer Grafik ist auch problemlos möglich, wie Sie bei der zweiten Einbindung der Grafik erkennen können. Für das Einbinden von Grafiken werden derzeit die Formate JPG, PNG und TIFF unterstützt, wobei JPG-Grafiken die PHP-GD-Extension und PNG-Grafiken die ZLIB-Extension von PHP voraussetzen.

Arbeiten mit Metadaten

Zend_Pdf unterstützt auch das Ändern der so genannten Metadaten. Dies sind dokumentspezifische Angaben über Autor, Thema, Schlüsselwörter oder Änderungsdatum. Diese Angaben werden im Adobe Reader z.B. über das Menü Datei|Eigenschaften angezeigt. Unser achtes Beispiel demonstriert diese Möglichkeiten (Listing 10). Hier werden zuerst die Angaben zu den Maßen der DIN-A4-Seite in Textform ausgegeben. Zudem werden die Koordinaten für die linke obere Ecke und die rechte untere Ecke der Seite ermittelt und dort wird ein entsprechender Text platziert (abzüglich einiger Punkte, um den Text ausgeben zu können).

Entscheidend für die Angabe der Metadaten ist die Eigenschaft properties des Zend_Pdf-Objekts. Hier können Sie Angaben für Titel, Autor, Thema, Schlüsselwörter, Erstellungsdatum, Änderungsdatum usw. machen. Wenn Sie das Beispiel acht aufrufen und sich im Adobe Reader die Eigenschaften anzeigen lassen, sehen Sie, wie die einzelnen Felder durch Zend_Pdf gefüllt worden sind. Vergleichen Sie dieses PDF-Dokument einfach mit einem der vorherigen Beispiele, bei denen keine Änderungen in den Metadaten durch Zend_Pdf vorgenommen worden sind.

Eine PDF-Vorlage erstellen

In unserem nächsten Beispiel geht es nun ans Eingemachte. Eigentlich besteht das Beispiel aus zwei Beispielen. Zend_Pdf unterstützt nämlich nicht nur die komplette Neuerstellung eines PDF-Dokuments, sondern auch das Verändern eines bereits vorhandenen. Im Prinzip können Sie damit jedes PDF-Dokument der Version PDF V1.4 (Acrobat 5) mit Zend_Pdf laden und verändern. Die Dokumente müssen somit nicht zwingend mit Zend_Pdf erstellt worden sein. Im Folgenden nenne ich die PDF-Dokumente, die geladen werden, der Einfachheit halber nur noch PDF-Vorlagen. Ich empfehle dennoch, soweit es möglich ist, diese PDF-Vorlagen auch mit Zend_Pdf zu erstellen. In der Regel werden die PDF-Vorlagen verwendet, um an bestimmten Stellen im Dokument variable Inhalte einzufügen. Da Zend_Pdf intern mit Punkten (1/72 eines Inches) arbeitet, kann die Platzierung von Texten mit PDF-Vorlagen aus anderen Quellen durchaus problematisch werden.

Ich habe dies einmal mit einer PDF-Vorlage umsetzen müssen, welche die zu füllenden Textfelder nicht nach Punkten, sondern eher wahllos auf der Seite verteilt hatte. Es kann schon bei einer Vorlage, die nur aus einer DIN-A4-Seite besteht, aber 20 bis 30 Felder hat, die es zu befüllen gilt, ein paar Stunden dauern, bis man alle Texte einigermaßen gut platziert hat. Der Begriff Pixelschubser bekommt da eine ganz neue Bedeutung. Deshalb wird im Beispiel neun, das Sie in Listing 11 finden, nun zuerst eine PDF-Vorlage erstellt. In dem Beispiel werden viele der bisher bekannten Möglichkeiten verwendet. Unter anderem werden Texte eingefügt, ein Rechteck und mehrere Linien gezeichnet, eine Grafik integriert und die Metadaten verändert. Die erstellte PDF-Vorlage wird dann gespeichert.

Wenn Sie das neunte Beispiel einmal starten, erhalten Sie ähnlich wie beim ersten Beispiel eine HTML-Seite mit einem Link zum generierten PDF-Dokument. Im Verzeichnis /public/pdf/ sollte danach die Datei pdfvorlage.pdf erstellt worden sein. Wenn Sie sich dieses PDF-Dokument anzeigen lassen, sehen Sie die fertige Vorlage, die im nächsten Beispiel nun mit Daten befüllt werden soll.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -