PDF-Dokument ohne PDFlib mit PHP erzeugen
Viele von euch werden wohl XAMPP benutzen, um lokal in PHP zu entwickeln und zu testen. In der Windows-Version enthält es auch die PHP-Extension PDFlib, die aber leider auf vielen Hostingpaketen mit Linux als Betriebssystem nicht enthalten ist. Da PDFlib mehrere hundert Euro Lizenzgebühren kostet stellen sich viele die Frage, ob es sinnvolle und kostenlose Alternativen gibt. Glücklicherweise gibt es Alternativen und eine sehr umfangreiche möchte ich euch kurz vorstellen.
Die kostenlose TCPDF Library
Nachdem ich ein paar kostenlose PDF Klassen für PHP getestet habe, hat sich ein klarer Sieger herausgestellt. Die Klasse TCPDF zeichnet sich nicht nur durch seinen großen Funktionsumfang, sondern auch durch seine sehr gute Quellcode-Kommentierung und die gute Dokumentation der Funktionen.
Ein einfaches Beispiel
Um zu zeigen, wie einfach es ist eine PDF zu erzeugen hier ein kleines Beispiel. Und wie man es von einem Programmierbeispiel erwartet schreiben wir einen einfachen Text mit “Hallo Welt” in die PDF:
<?php
require_once('tcpdf/tcpdf.php');
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
$pdf->setPrintHeader(false);
$pdf->setPrintFooter(false);
$pdf->SetFont('times', 'BI', 20);
$pdf->AddPage();
$pdf->Cell(0, 10, 'Hallo Welt!', 0, 1, 'C', 0, 'http://kau-boys.de');
$pdf->Output('example1.pdf', 'I');
?>
Zuerst wird die Klasse per require eingebunden. Anschließend erzeugen wir an neues TCPDF Objekt und weisen ihm als Orientierung Portrait (Hochformat) mit Millimeter als Einheit und einer Seitengröße im DIN A4 Format zu. Anschließend deaktivieren wir noch die Standard Kopf- und Fußzeile.
Mit setFont() können wir die Schriftart, die Formatierung und die Schriftgröße festlegen. Jetzt fügen wir eine neue Seite hinzu und erzeugen eine Zelle mit unserem Text und einem Link. Zuletzt geben wir die Datei aus und der Browser zeigt sie direkt an. Alternativ kann auch der Download-Dialog erzwungen werden. Das Beispiel könnt ihr euch hier ansehen:
Das Beispiel ist stark vereinfach und nutzt nur die allernötigsten Funktionen. Auf der Seite von TCPDF findet ihr auch eine Liste mit vielen weiteren Beispielen, die ihr euch ansehen solltet. Sehr beeindruckend sind auch die Beispiele mit Formularen, die entweder mit Funktionen von TCPDF oder mit einem einfachen HTML-Formular erzeugt werden können.
Ich hoffe, dass euch das kleine Beispiel weiterhelfen konnte und euch dazu ermutigt hat, es einfach einmal selbst auszuprobieren. Über Kommentare würde ich mich wie immer sehr freuen.










Kann das TCPDF auch tagging? Also Tags und Lesefluss setzen.
Es gibt eine Funktion Bookmark mit der man Lesezeichen setzen kann. Meinst du das? Ich habe noch nie Tags in einem PDF gesehen. Hast du vielleicht mal ein Beispiel?