FDF ohne das Adobe SDK erstellen

Registrierung adé
Kommentare

FDF ist ein bis dato noch sehr unterschätztes und eher selten eingesetztes Datenformat. Um es zu stellen, benötigen Sie auf vielen Systemen ein SDK von Adobe, das eine Registrierung unter [1] erfordert. Doch es geht auch ohne!

Seit der Verbreitung des Internets besteht großes Interesse, PDF-Dokumente online zu erstellen. Unter anderem hat [2] gezeigt, wie das geht. Doch auch dort hat es sich gezeigt, dass gerade das exakte Layout sehr mühsam ist. Einfacher ist es da schon, für das Design ein Programm zu nehmen, dass das auch kann: Entweder eine Satz-Software oder eine Textverarbeitung. Doch dann ist es nicht mehr möglich, eigene Informationen und Daten zu integrieren. Mit ein wenig Aufwand lässt sich das natürlich per Makro ein wenig automatisieren, wie das beispielsweise OpenOffice.org oder auch Microsoft Office vormachen. Doch das Gelbe vom Ei ist das nicht. Es gibt mittlerweile zahlreiche Softwareprodukte, die hier eine Lösung versprechen, die Arbeitsersparnis aber in harten Euro gerne bezahlt hätten. Die PDFlib bietet in manchen Versionen noch PDI-Funktionalitäten an. Damit ist es möglich, bestehende PDF-Dokumente zu öffnen und Elemente hinzuzufügen. Doch diese Funktionalität ist kostenpflichtig und deswegen im Rahmen dieser Serie auch nicht qualifiziert.Zum Datenaustausch von FDF hat Adobe das Forms Data Format (FDF) geschaffen. Dabei handelt es sich um ein Dateiformat, mit dem Formulardaten innerhalb von FDF-Dokumenten verarbeitet werden können. Das geht in zwei Richtungen: Zum einen können Daten, die aus einem Formular kommen, im FDF-Format abgespeichert werden. Zum anderen ist es auch möglich, FDF-Daten in ein Dokument zu laden.Leider hat Adobe ein paar Hürden zwischen die Entwickler und die Verwendung von FDF gesetzt. Denn nur Mitglieder im ASN Developer Program [3] erhalten vollen Zugriff auf die Dokumentation und die dazugehörigen SDKs, mit denen FDF-Daten erstellt werden können. Es gibt mehrere Varianten der Mitgliedschaft im Programm. Die günstige Variante belastet das Budget mit jährlich rund 200 US-Dollar, die Premium-Ausgabe kostet etwa 1.000 US-Dollar. Wer nur am SDK interessiert ist: Für Kunden aus den USA und Kanada schlägt das mit etwa 100 Euro zu Buche, doch ausländische Kunden können so und so nur per Telefon bestellen (möglicherweise zu einem anderen Preis).Mittlerweile gibt es jedoch auch ein FDF-Toolkit [4], ein API, um serverseitig auf FDF-Daten zuzugreifen. Eben dieses Toolkit wird auch von den FDF-Funktionen von PHP [5] als Voraussetzung angegeben (siehe Kasten Die FDF-Funktionen von PHP).

Die FDF-Funktionen von PHP
Unter [5] gibt es im Online-Handbuch von PHP den Abschnitt zum Thema FDF-Funktionen. Zur Installation der Erweiterung verwenden Sie den Schalter –with-fdftk und geben dort das Verzeichnis an, in das das SDK von Adobe installiert wurde. Windows-Nutzer haben es einfacher und brauchen nicht einmal das SDK, denn die Bibliotheken sind bei PHP mit dabei: Im Erweiterungsverzeichnis (ext bei PHP 5, extensions bei PHP 4) liegt die Datei php_fdf.dll, die Sie per extension=php_fdf.dll in die Konfigurationsdatei php.ini einbinden können (oder zur Not setzen Sie auf dl()).Im Installationsverzeichnis von PHP (bei PHP 5; unter PHP 4 im Unterverzeichnis dlls) liegt die Datei fdftk.dll (die das Client-API zur Verfügung stellt), die ins Systemverzeichnis von Windows kopiert werden muss. Dann haben Sie vollen Zugriff auf die FDF-Funktionen und können FDF-Dateien erstellen. Das geht in vier Schritten: Datei erzeugen, Feldwerte besetzen, Namen des Basis-PDF-Dokuments angeben und FDF-Datei abspeichern. Achten Sie darauf, dass Sie hier unter Windows den kompletten Pfad beim Abspeichern angeben, denn die FDF-Datei wird sonst relativ zum Speicherort der Datei fdftk.dll abgelegt.
<img src="http://cdn.sandsmedia.com/ps/onlineartikel/pspic/picture_file//31/import42358159f2e05.tif<
Abb. 7: Natürlich klappt das auch mit der FDF-Erweiterung von PHP
Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -