XXXI. Forms Data Format Funktionen
Forms Data Format (FDF) ist ein Format zur Verarbeitung von
Formularen innerhalb von PDF Dokumenten. Weiterführende
Informationen zu FDF und dessen Verwendung sind unter http://partners.adobe.com/asn/developer/acrosdk/forms.html zu finden.
Anmerkung:
Bei Problemen mit der Konfiguration der FdfTk-Unterstützung
sollte man überprüfen, ob die Datei FdfTk.h sowie die Bibliothek
libFdfTk.so im richtigen Verzeichnis zu finden sind. Die
korrekten Verzeichnisse sind fdftk-dir/include und
fdftk-dir/lib. Das ausschließliche Entpacken der Distribution
führt nicht zu dem gewünschten Ergebnis.
Der Ansatz den FDF verfolgt, ist vergleichbar mit dem üblicher
HTML Formulare. Die wesentlichen Unterschiede liegen in der
Übertragung der Daten nach Absenden des Formulars (dies ist das
eigentliche Form Data Format), sowie in dem Format des Dokuments
welches das Formular enthält(PDF). Die Verarbeitung der FDF Daten
ist eine der Möglichkeiten, die die FDF Funktionen bereitstellen.
Darüberhinaus kann man beispielsweise innerhalb eines vorhandenen
PDF Formulars die Input Felder dynamisch mit Daten füllen, ohne
das Formular selbst zu verändern. Hierzu erzeugt man das FDF
Dokument (fdf_create()), setzt die Werte der
jeweiligen Input Felder (fdf_set_value()) und
verbindet es mit dem jeweiligen PDF Formular
(fdf_set_file()). Nachdem man das FDF
Dokument, mit dem passenden MimeType
application/vnd.fdf versehen, ausgegeben hat,
erkennt das Acrobat Reader PlugIn des Browsers den MimeType und
füllt das Zielformular mit den Daten des FDF Dokuments.
Betrachtet man ein FDF Dokument mit einem Text Editor, findet sich
dort ein Katalog Objekt FDF. Dieses Objekt kann
mehrere Einträge der Art Fields,
F, Status etc..
enthalten. Die gebräuchlichsten Einträge sind
Fields, welches zu einer Anzahl von Input
Feldern verweist, sowie F das den Dateinamen
des zugehörigen PDF Dokuments enthält. Diese Einträge finden sich
in der FDF Dokumentation unter /F-Key oder /Status-Key.
Modifikationen dieser Einträge werden mit Hilfe der Funktionen
fdf_set_file() und
fdf_set_status() vorgenommen. Felder werden
u.a. mit fdf_set_value(),
fdf_set_opt() modifiziert.
Das Beispiel zeigt die Auswertung der Formular Daten.
Beispiel 1. Auswertung eines FDF Dokuments <?php
// Speichern der FDF Daten in eine temporäre Datei
$fdffp = fopen("test.fdf", "w");
fwrite($fdffp, $HTTP_FDF_DATA, strlen($HTTP_FDF_DATA));
fclose($fdffp);
// Öffnen der temporären Datei und Auswertung der Daten
// Das PDF Formular enthält verschiedene Eingabefelder mit den zugehörigen Namen
// band, datum, kommentar, verleger, bearbeiter, sowie zwei Checkboxen
// zeige_verleger und zeige_bearbeiter.
$fdf = fdf_open("test.fdf");
$band = fdf_get_value($fdf, "band");
echo "Das Feld Band hat den Wert '<B>$band</B>'<BR>";
$datum = fdf_get_value($fdf, "datum");
echo "Das Feld Datum hat den Wert '<B>$datum</B>'<BR>";
$kommentar = fdf_get_value($fdf, "kommentar");
echo "Das Feld Kommentar hat den Wert '<B>$kommentar</B>'<BR>";
if (fdf_get_value($fdf, "zeige_verleger") == "On") {
$verleger = fdf_get_value($fdf, "verleger");
echo "Das Feld Verleger hat den Wert '<B>$verleger</B>'<BR>";
} else {
echo "Verleger soll nicht angezeigt werden.<BR>";
}
if (fdf_get_value($fdf, "zeige_bearbeiter") == "On") {
$bearbeiter = fdf_get_value($fdf, "bearbeiter");
echo "Das Feld Bearbeiter hat den Wert '&<B>$bearbeiter</B>'<BR>";
} else {
echo "Bearbeiter soll nicht angezeigt werden.<BR>";
}
fdf_close($fdf);
?> |
|