Nicht jedes Projekt setzt auf ein Framework und nutzt sinnvollerweise deren Funktionen - z.B. zum Generieren von PDF Dokumenten. Wer nach PDF Generatoren für PHP sucht, wird schnell fündig und landet bei fPDF oder z.B. dem PEAR Package.
Gerade ältere Projekte werden sicherlich auf die bewährte fPDF-Bibliothek setzen, wenn es darum geht, PDF Dateien dynamisch zu generieren. Eine Schwachstelle von fPDF ist sicherlich der fehlende GIF Support und das umständliche Einbetten von Schriften.
Für die Erweiterung eines etwas in die Jahre gekommenen Projektes musste ich diese Woche ein wenig in die Trickkiste greifen: GIF Grafiken sollten eingebettet werden. Da hilft nur ein kleiner Workaround: JPEGs und PNG-Grafiken werden unterstützt, also was liegt näher, als eine Zwangskonvertierung?
Glücklicherweise muss man sagen, dass der fPDF Entwickler so vorausschauend gearbeitet hat und sozusagen “File-Plugins” erlaubt. Bevor man also die Meldung “Unsupported image type: gif” präsentiert bekommt, wird abgefragt, ob es eine Klassenmethode mit dem Namen “_parse_gif” gibt.
Witzigerweise gibt es FPDF-Addons für “WMF”, “SVG”, “EPS” und sogar “BMP”-Dateien. GIF fehlt bislang oder wurde schlicht von niemand veröffentlicht. Klar, hier könnte man ja gleich auf PNG setzen, aber manchmal muss man halt auf bereits bestehende Daten zugreifen ;)
Das fPDF-Addon für fPDF-Version 1.53 und niedriger findet ihr unter dieser Adresse zum Download, vielleicht ist es ja für den ein oder anderen nützlich:
http://www.phpblogger.net/download/fpdf_gif_support.class.phps
Font-Konverter
Wer Schriftarten in fPDF einbetten möchte, muss diese zuvor umwandeln. Benötigt werden die Dateien mit den Endungen “php” und “z”. Wer sich die Arbeit auf der Konsole sparen möchte, sollte mal einen Blick auf diesen Konverter werfen: http://fpdf.fruit-lab.de/ (Vielen Dank an Tim Lochmüller, meinen Namensvetter, für dieses praktische Tool)
Kleiner Nachtrag am Ende
Wer einen Blick in die Download-Liste auf der offiziellen Projektseite wirft, wird sehen, das der Projektautor nach über 3 Jahren Release-Pause im September diesen Jahres das Release 1.6 bereitgestellt hat. Offensichtlich ist das bis zu den Betreibern der Sprachvarianten noch nicht vorgedrungen ;)
Ein Blick ins Changelog:
- GIF-Grafik Support. (Jubel!)
- Grafiken veranlassen Seitenumbrüche.
- Mehrere Seitenformate können in ein und demselben PDF verwendet werden.
- Dokument-Eigentschaften (Autor, Ersteller, Stichworte, Betreff und Titel) können in UTF-8 angegeben werden.
- Hinzufügen von HTTP Headern um Probleme mit dem Internet Explorer zu vermeiden.
- Bugfix: Wenn eine PNG-Datei über eine URL nachgeladen wurde, kam es ab und zu zu einem Fehler.
- Bugfix: Automatische Seitenumbrüche in Header()-Funktion verursachen keine unendlichen Schleifen mehr.
- Bugfix: Entfernen von Warnungen in aktuellen PHP Versionen.
Ähnliche Artikel:





