XXXI. Forms Data Format Funktionen

Einführung

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 .

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über hinaus 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 .

Anforderungen

Benötigt wird das FDF-Toolkit-SDK , welches unter http : / /partners.adobe.com / asn / developer / acrosdk / forms.html Benötigt wird das FDF-Toolkit-SDK , welches unter http : / /partners.adobe.com / asn / developer / acrosdk / forms.html heruntergeladen werden kann . Ab PHP-Version 4.3 ist mindestens die Version 5.0 des FDF-SDKs erforderlich . Die FDF-Toolkit Bibliothek steht ausschließlich vorkompiliert zur Verfügung . Von Adobe unterstütze Plattformen sind Win32 , Linux , Solaris und AIX .

Installation

Anmerkung :

Laufzeit Konfiguration

Diese Erweiterung definiert keine Konfigurationseinstellungen in der php.ini .

Resource Typen

fdf

Die meisten FDF-Funktionen benötigen an erster Stelle einen fdf Die meisten FDF-Funktionen benötigen an erster Stelle einen fdf Ressource-Parameter . Der Parameter fdf ist ein Zeiger auf eine geöffnete FDF-Datei . fdf Ressource-Parameter werden von den Funktionen fdf_create( ) , fdf_open( ) und fdf_open_string( ) zurückgegeben .

Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung , wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde .

FDFValue ( integer )
FDFStatus ( integer )
FDFFile ( integer )
FDFID ( integer )
FDFFf ( integer )
FDFSetFf ( integer )
FDFClearFf ( integer )
FDFFlags ( integer )
FDFSetF ( integer )
FDFClrF ( integer )
FDFAP ( integer )
FDFAS ( integer )
FDFAction ( integer )
FDFAA ( integer )
FDFAPRef ( integer )
FDFIF ( integer )
FDFEnter ( integer )
FDFExit ( integer )
FDFDown ( integer )
FDFUp ( integer )
FDFFormat ( integer )
FDFValidate ( integer )
FDFKeystroke ( integer )
FDFCalculate ( integer )
FDFNormalAP ( integer )
FDFRolloverAP ( integer )
FDFDownAP ( integer )

Beispiele

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)

 
;

 
?





Inhaltsverzeichnis
fdf_add_doc_javascript -- Adds javascript code to the FDF document
fdf_add_template -- Fügt dem FDF Dokument ein Template hinzu
fdf_close -- Schließt ein FDF Dokument
fdf_create -- Erzeugt ein neues FDF Dokument
fdf_errno -- Return error code for last fdf operation
fdf_error -- Return error description for fdf error code
fdf_get_ap -- Get the appearance of a field
fdf_get_attachment -- Extracts uploaded file embedded in the FDF
fdf_get_encoding -- Get the value of the /Encoding key
fdf_get_file -- Gibt den Wert des /F Schlüssels zurück
fdf_get_status -- Gibt den Wert des /STATUS Schlüssels zurück
fdf_get_value -- Gibt den Wert eines Feldes zurück
fdf_get_version -- Gets version number for FDF api or file
fdf_header -- Sets FDF-specific output headers
fdf_next_field_name -- Gibt den Namen des nächsten Feldes zurück
fdf_open_string -- Read a FDF document from a string
fdf_open -- Öffnet ein FDF Dokument
fdf_save_string -- Returns the FDF document as a string
fdf_save -- Speichern eines FDF Dokuments
fdf_set_ap -- Legt das Aussehen eines Feldes fest
fdf_set_encoding -- Legt die Kodierung des FDF Zeichensatzes fest
fdf_set_file -- Definiert ein PDF-Dokument, das FDF-Daten anzeigen soll
fdf_set_flags -- Setzt Flags eines Feldes
fdf_set_javascript_action -- Weist einem Feld eine Javascript Aktion zu
fdf_set_opt -- Setzt die Option eines Feldes
fdf_set_status -- Setzt den Wert des /STATUS Schlüssels
fdf_set_submit_form_action -- Setzt die 'Submit Form Action' für ein Feld
fdf_set_target_frame -- Set target frame for form display
fdf_set_value -- Setzt den Wert eines Feldes
fdf_set_version -- Sets version number for a FDF file