FPDF und PHP – erste Erfahrungen

Ich habe vor kurzem die Aufgabe erhalten, mit PHP PDF-Dokumente zu generieren, die auf den Einträgen in einer Datenbank basieren. Möglichst kostengünstig. Der Griff zur PFDlib war wegen der relativ hohen Kosten für kommerzielle Zwecke also nicht möglich. Zudem behagte mir die PDFlib auch nicht, da sie als Modul im Webserver (Apache) integriert werden muss. Das wäre bei dem Web-Service-Provider, der die Domaine meines Kunden hostet, dann eher ein Problem geworden.

In meiner Not habe ich dann zur Opensource Bibliothek “FPDF” (http://www.fpdf.de/) gegriffen. Die dortigen (objektorientierten) Bibliotheken benötigen nur PHP und werden nicht als Apache-Module geladen. Ich muss nach ein paar Tagen produktiver Arbeit feststellen, dass ich mit der Bibliothek sehr positive Erfahrungen gemacht habe:

1) Die Installation ist sehr einfach.
2) Die Doku ist knapp bemessen, aber verständlich und letztlich ausreichend. Ein Blick in die Online-Tutorials mit den dortigen Beispielen ist sehr hilfreich.
3) Die Einbindung und Erweiterung der zu nutzenden Bibliotheks-Objekte in eigene PHP-Objekte und Methoden ist auf bequeme Art und Weise möglich.
4) Die Methodenaufrufe zur Gestaltung des PDF-Dokumentes sind zwar begrenzt, dafür aber sehr einfach zu verstehen und anzuwenden.
5) Footer und Header-Methoden sind einfach für die eigenen Zwecke zu überschreiben.
6) Tabellarische Inhalte lassen sich sehr bequem erstellen.
7) Die Geschwindigkeit bei der PDF-Erzeugung ist zumindest für einfache Zwecke ausreichend.
8) Es wird nicht zuviel versprochen – die angebotenen Methoden funktionieren.

Etwas umständlich ist die Einbindung von Truetype-Schriften und die zugehörige Erzeugung der metrischen Informationsdateien. Hier dem User etwas kompaktere Tools anzubieten, wäre nicht schlecht.

Aber alles in allem: eine empfehlenswerte Bibliothek für Leute, die PDF-Dokumente mit PHP erzeugen wollen und nicht zur PDFlib greifen können.

Thunderbird und verschlüsselte Mail-Anhänge

Als Linux-Anwender verwende ich neben Kmail manchmal Thunderbird unter Linux. Dort wird zur Verschlüsselung die Linux-OpenPGP Software herangezogen. Unter Windows hingegen kommt das Enigmail Plugin mit der OpenPGP Software im Hintergrund zum Zuge. Hier gibt es ein kleines Problemchen, dass auch für Linux Anwender als Verfasser verschlüsselter Mails interessant ist, wenn der Empfänger Windows Anwender ist.

Ein Bekannter, der Thunderbird unter MS Windows einsetzt, hatte nun das Problem, dass er Anhänge von Mails, die ich ihm verschlüsselt geschickt hatte, nicht öffnen konnte. Vielmehr erhielt er die Fehlermeldung “IMAP-Nachricht ist zu groß zum Entschlüsseln”. Man möge es mir glauben: Die Mail und der Anhang waren winzig. Unter Linux hatte ich dieses Problem nicht. Der Kollege greift tatsächlich, wie die Fehlermeldung es andeutet, auf einen IMAP-Server zu.

Als Ursache entpuppte sich eine Einstellung des Enigmail Plugins unter Windows. Klickt man in Thunderbird unter MS-Windows den Menüpunkt “OpenPGP” an, und geht man dann weiter zu “Einstellungen” und zum Reiter “Erweitert”, so findet man eine Checkbox für den Punkt

“Anhänge nur herunterladen, wenn diese geöffnet werden sollen (nur bei IMAP)”.

Dieser Punkt muss deaktiviert werden, wenn die Anhänge verschlüsselter Mails in Thunderbird geöffnet werden sollen. Ich meine, die Fehlermeldung ist wirklich irreführend. Als Versender verschlüsselter Mails sollte man daher seine Windows-Adressaten auf diesen Punkt hinweisen.

Firefox 3.0 ohne verbesserte Bildskalierung unter Linux

Gerade habe ich Firefox 3.0 unter Windows und unter Linux installiert. Neben vielen positiven Dingen muss ein für Linux Anwender sehr enttäuschender Punkt angesprochen werden:

Im jetzigen Release 3.0 funktioniert das “smooth image scaling”, das im Vorfeld so viel Furore machte, unter Linux überhaupt nicht, während es unter Windows wirklich beeindruckende Ergebnisse zeitigt.

Inzwischen wurde bereits ein Mozilla-Bug zu dieser Thematik eröffnet. In einem Kommentar zur Bugmeldung wird allen Ernstes empfohlen, sich bei den Linux-Distributoren zu beschweren, da im X-Server benötigte Features fehlen würden. Dazu ist aus Anwender-Sicht Folgendes zu fragen bzw. anzumerken:

1) Fehlt nun etwas in Xorgs X-Server oder implementieren die Packages der Distributoren X nur eingeschränkt?
2) Man versteht als unbedarfter Mensch nicht, was X überhaupt mit der Thematik zu tun haben soll. Müsste dieses Thema nicht eine Ebene höher angegangen werden? Firefox ist doch unter Linux wohl GTK basiert und liefert GTK nicht etliche Funktionen, um eine ordentliche bikubische Interpolation von Images durchzuführen?

Egal wie: Als Linux User bin ich erstmal enttäuscht. Das wird jeder verstehen, wenn er folgende zwei Bilder vergleicht – das erste wurde im FF 3.0 unter Linux gemacht, das zweite im FF 3.0 unter Windows (das natürlich im VMware-Fenster läuft) – bei gleicher Vergrößerungsstufe :

anracon_logo_FF_linux anracon_Logo_windows

Die Enttäuschung ist umso größer, als hier eine Opensource-Firma die Anwender des Opensource-Betriebssystems Linux offenbar als Anwender zweiter Klasse behandelt. Denn dass eine gute Bildskalierung unter Linux ein prinzipielles und ernsthaftes Problem darstellen soll, glaube ich nicht. Das Gegenteil ist durch GIMP, Scribus und diverse PDF-Programme bereits bewiesen. Vielleicht lassen sich aber die Windows-spezifischen Algorithmen nicht 1 zu 1 auf X, KDE und Gnome übertragen. Man müsste wohl eigene Lösungen entwickeln. Die Veröffentlichung des jetzigen Releases zeigt aber wohl, dass die Mozilla-Entwickler dies bislang versäumt haben. Ein schnelles Windows-Release ist inzwischen wohl wichtiger als gute Qualität auf verschiedenen Betriebssystemen ……