Einfügen von Grafiken
- Generieren von PDFs mit PHP
- Erste Schritte
- Einfügen von Grafiken
Im ersten Beispiel hatten wir eine Seite erzeugt und mehrere Textzeilen ausgegeben mit dem Befehl PDF_show(). Im Folgenden werden über eine for-Schleife insgesamt vier Seiten angelegt und dabei jeweils drei Textzeilen mit unterschiedlichen Schriftarten ausgegeben:...

Im ersten Beispiel hatten wir eine Seite erzeugt und mehrere Textzeilen ausgegeben mit dem Befehl PDF_show(). Im Folgenden werden über eine for-Schleife insgesamt vier Seiten angelegt und dabei jeweils drei Textzeilen mit unterschiedlichen Schriftarten ausgegeben:
for ($zaehler = 1; $zaehler < 5;
++$zaehler) {
Es wird wie im ersten Beispiel eine DIN-A4-Seite angelegt:
pdf_begin_page($p,
595, 842);
Die erste Schrift ist Times Roman mit der Schriftgröße 24. Die Ausgabe erfolgt dieses Mal nicht über die Kombination aus PDF_set_text_pos() und PDF_show(), sondern in einem Schritt über PDF_ show_xy(). Dabei geben Sie neben der PDF-Datei den Text sowie die Startkoordinaten für das Textfeld mit. Dieser Vorgang wird anschließend zwei Mal wiederholt. Zum Abschluss der Schleife wird die Seite geschlossen.
pdf_setfont($p, $times,
24);
pdf_show_xy($p, "Sie befinden sich auf
Seite $zaehler", 50, 750);
pdf_setfont($p, $times_fett, 16);
pdf_show_xy($p, "Dies ist eine
Unterüberschrift", 50, 700);
pdf_setfont($p, $times_kursiv, 16);
pdf_show_xy($p, "Ab hier beginnt der
Text...", 50, 650);
pdf_end_page($p);
}
Mit diesem veränderten Rahmenprogramm erzeugen Sie eine PDF-Datei mit vier Seiten, die Texte mit unterschiedlichen Schriftarten und Schriftgrößen enthält. Die Texte können Sie, wie im Beispiel mit dem Schleifenzähler gesehen, beliebig mit den Inhalten vorhandener Variablen kombinieren.
Einfügen von Grafiken
Planen Sie, in Ihr Dokument noch eine Grafik oder sogar mehrere einzufügen, sind ein paar ergänzende Programmzeilen notwendig. Für die Darstellung der Grafik wird das obige Beispiel erweitert und nach der Ausgabe der drei Textzeilen noch ein Bild eingefügt. Speichern Sie dieses am besten im gleichen Verzeichnis wie Ihre PHP-Datei und definieren Sie anschließend eine Variable. Weisen Sie dieser über die Funktion PDF_load_image() die darzustellende Datei zu.
$img = PDF_load_image($p, "auto",
"htdocs/pdflib/bild.jpg", "");
Zur Ausgabe des Bildes gibt es den Befehl PDF_fit_image() - hierbei kann gleichzeitig eine Veränderung des Bildes, etwa eine Skalierung oder eine Drehung des Bildes als optionaler Parameter mitgegeben werden:
PDF_fit_image($p, $img,
50, 400, "");
Im Beispiel wird die linke obere Ecke des Bildes auf der Position x=50 Pixel und y=400 Pixel platziert. Es sind keine weiteren Optionen für die Darstellung vorgesehen. Einige der Parameter werden auf der Hilfeseite von PHP vorgestellt (de3.php.net/manual/de/function.pdf-fit-image.php ).Nach der Darstellung des Bildes sollten Sie den Zugriff auf die Datei auch wieder beenden. Dazu dient die Funktion PDF_close_image mit den Parametern der PDF-Datei und dem Konstruktor des Bildes:
PDF_close_image($p, $img);
Links setzen

Natürlich lassen sich mit Pdflib auch verschiedene Verlinkungen setzen - dabei verknüpfen Sie einen bestimmten Bereich mit einer URL. Dazu ist ein Zusammenspiel zwischen zwei Befehlen notwendig. Mit PDF_create_action definieren Sie einen Link und mit PDF_create_annotation verknüpfen Sie diesen mit einem bestimmten Bereich.Für die Verknüpfung mit einer externen URL verwenden Sie als Parameter für PDF_create_action() als Art der Verknüpfung den Parameter URI und geben anschließend als optionalen Parameter den Kennzeichner url mit der entsprechenden Adresse an:
$act = PDF_create_action ($p, "URI",
"url https://internet-magazin.magnus.
de/ ");
Anschließend legen Sie den Bereich fest, der mit dem Link verknüpft werden soll. Dabei haben Sie vier Parameter zur Verfügung, welche die linke obere und die rechte untere Ecke der Markierung repräsentieren. Damit Sie für die Definitionsphase Ihr Ergebnis besser betrachten können, sollten Sie die Breite der Linie (linewidth) auf einen Wert größer null setzen. Innerhalb des gekennzeichneten Rechtecks ist der Link aktiv:
PDF_create_annotation ($p, 45, 340,
175, 380, "Link", "linewidth=0 action
{activate $act}");
Lesezeichen einfügen

Gerade bei längeren PDF-Dokumenten oder für verschiedene Themenblöcke können Sie einfach Lesezeichen einfügen. Dies ist über den Befehl PDF_create_bookmark() zu realisieren. Geben Sie als Parameter neben der PDF-Datei zumindest den Text für das Lesezeichen mit. Als dritten Übergabewert gibt es einen optionalen Parameter für weitere Ausgabesteuerungen:
PDF_create_bookmark ($p, "Lesezeichen
für Seite $zaehler", "");
Alternative Schreibweise
Ab der Pdflib-Distribution für PHP5 können Sie auch eine andere Schreibweise als die vorgestellte nutzen. Der erste Parameter bei der vorgestellten Notation ist immer das neue PDF-Dokument. Diese Variable wird anschließend in allen Funktionen mitgeführt. Mit der Distribution für PHP5 ändert sich nichts an den Befehlen als solches, Sie legen jedoch einen neuen Konstruktor vom Typ PDFlib() an:
$p = new PDFlib();
Dieser dient dann anschließend für den Zugriff auf die weiteren Funktionen, beispielsweise
$p->set_info("Creator", "mein.php");
$p->set_info("Author", "Andreas
Hitzig");
$p->set_info("Title", "PHPlib
Beispiel");
Die zuvor vorgestellte Schreibweise funktioniert im Übrigen auch problemlos für die PHP5-Distribution, in dieser Konstellation haben Sie somit die freie Auswahl.