Mittels ClibPDF können Sie PDF-Dokumente mit PHP erstellen. Sie bekommen diese Bibliothek von FastIO, aber sie ist keine freie Software. Sie sollten auf jeden Fall die Lizenz lesen, bevor Sie anfangen, mit ClibPDF zu experimentieren. Wenn Sie nicht mit den Lizenzbedingungen einverstanden sind, sollten sie die Verwendung der ebenfalls sehr mächtigen pdflib von Thomas Merz erwägen. Funktionalität und API sind der pdflib von Thomas Merz ähnlich, aber in Bezug auf FastIO ist ClibPDF schneller und erzeugt kleinere Dokumente. Mit der neuen Version 2.0 von pdflib könnte sich das geändert haben. Tatsächlich zeigt ein einfacher Leistungsvergleich (Umwandlung des pdfclock.c-Beispiels von pdflib 2.0 in ein PHP-Skript) überhaupt keinen Geschwindigkeitsunterschied. Wenn die Kompression abgeschaltet ist, ist auch die Größe der Datei ähnlich. Von daher sollten Sie einfach beide Bibliotheken testen, um festzustellen, welche Ihre Anforderungen erfüllt.
Diese Dokumentation sollten Sie zusammen mit dem ClibPDF-Handbuch lesen, weil letzteres diese Bibliothek viel ausführlicher erklärt.
Die Namen vieler Funktionen in der ClibPDF, im PHP-Modul und in der pdflib sind gleich. Außer cpdf_open() nehmen alle Funktionen die Bezeichnung des Dokuments als ihren ersten Parameter.
Diese Bezeichnung wird gegenwärtig nicht intern verwendet, weil ClibPDF die gleichzeitige Erzeugung mehrerer PDF-Dokumente nicht unterstützt. Da das Ergebnis nicht vorhersehbar ist, sollten Sie es am besten nicht einmal testen. Die Folgen, die das in einer multi-threaded Umgebung hätte, kann ich nicht abschätzen. Laut ClibPDF-Autor wird sich das in einer der nächsten Versionen ändern (als dieses geschrieben wurde, war Version 1.10 aktuell). Verwenden Sie das pdflib-Modul, wenn Sie diese Funktionalität benötigen.
Anmerkung: Die Funktion cpdf_set_font() hat sich seit PHP 3 geändert und unterstützt nun asiatische Zeichensätze. Der Kodierungsparameter ist keine Zahl mehr, sondern eine Zeichenkette.
Bisher war die Möglichkeit, das PDF-Dokument vollständig im Speicher zu erzeugen, ohne temporäre Dateien zu verwenden, ein großer Vorteil von ClibPDF gegenüber pdflib. Diese Fähigkeit hat pdflib seit Version 3.0 auch. Sie bietet auch die Möglichkeit, Koordinaten in einer vordefinierten Längeneinheit zu übergeben. Dies ist eine praktische Fähigkeit, die aber auch mit pdf_translate() simuliert werden kann.
Ein weiteres nettes Feature von ClibPDF ist die Tatsache, dass jede Seite jederzeit geändert werden kann, selbst wenn schon eine neue Seite geöffnet wurde. Die Funktion cpdf_set_current_page() erlaubt es, die aktuelle Seite zu verlassen und mit den Änderungen einer anderen Seite fortzufahren.
Die meisten Funktionen sind ziemlich einfach zu benutzen. Der schwierigste Teil ist wahrscheinlich die Erzeugung eines sehr einfachen PDF-Dokuments überhaupt. Das folgende Beispiel sollte für Sie eine gute Starthilfe sein. Es erzeugt ein Dokument mit einer Seite. Die Seite enthält den Umriss des Textes "Times-Roman" in 30-Punkt-Schrift. Der Text ist unterstrichen.
Die pdflib-Distribution enthält ein komplexeres Beispiel, das eine Reihe von Seiten mit einer Analoguhr erzeugt. Hier ist dieses Beispiel, das unter Verwendung der ClibPDF-Erweiterung in PHP konvertiert wurde:
Beispiel 2. pdfclock-Beispiel der pdflib 2.0 Distribution
|