XXXI. Forms Data Format

Forms Data Format ( FDF ) est un format de fomulaire pour les documents PDF . Vous pouvez lire la documentation ( en anglais ) à http : / /partners.adobe.com / asn / developer / acrosdk / forms.html pour plus de détails sur les tenants et les aboutissants .

Si vous rencontrez des problèmes de configuration de PHP avec le support fdftk , vérifiez bien que le fichier d ' en-têtes FdfTk.h et la librairie libFdfTk.so sont bien situés . Elle devrait être dans les dossiers fdftk-dir / include et fdftk-dir / lib . Cela ne sera pas le cas si vous avez simplement décompressé la distribution FdfTk .

L ' esprit de FDF est similaire à celui des formulaires HTML . Les différences résident dans les moyens de transmission des données au serveur , lorsque le bouton " submit " (soumettre ) est pressé (ce qui est du ressort de Form Data Format ) et le format de formulaire lui-même (qui est plutôt du ressort de Portable Document Format , PDF ) . Gérer des données FDF est un des objectifs des fonctions FDF . Mais il y en a d ' autres . Vous pouvez aussi prendre un formulaire PDF , et pré-remplir les champs , sans modifier le formulaire lui-même . Dans ce cas , on va créer un document FDF ( fdf_create( ) ) , remplir les champs ( fdf_set_value( ) ) et l'associer à un fichier PDF ( fdf_set_file( ) ) . Finalement , le tout sera envoyé au client , avec le type MIME " application / vnd.fdf " . Le module " Acrobat reader " de votre navigateur va reconnaître ce type MIME , et lire le fichier PDF , puis le remplis avec FDF .

Si vous éditez un fichier FDF avec un éditeur de texte , vous trouverez un catalogue d ' objet avec le nom de FDF . Cet objet peut contenir des entrées telles que Fields , F , Status Cet objet peut contenir des entrées telles que Fields , F , Status etc. . Les entrées les plus couramment utilisées sont Fields , qui indique une liste de champs de contrôle , et F qui contient le nom du fichier PDF a qui appartiennent ces données . Ces entrées sont désignées dans la documentation PDF sous le nom de / F-Key ou / Status-Key . La modification de ces entrées est possible avec les fonctions fdf_set_file( ) et fdf_set_status( ) . Les champs sont modifiables avec les fonctions fdf_set_value( ) , fdf_set_opt( ) etc. .

Les exemples suivants montre comme évaluer les données du formulaire .

Exemple 1 . Evaluer un document FDF

 
?php

 
/

 
/

 
Sauver

 
le

 
fichier

 
FDF

 
dans

 
un

 
fichier

 
temporaire

 
.

 
$fdffp

 
=

 
fopen(

 
"test.fdf"

 
,

 
"w")

 
;

 
fwrite($fdffp

 
,

 
$HTTP_FDF_DATA

 
,

 
strlen($HTTP_FDF_DATA))

 
;

 
fclose($fdffp)

 
;

 
/

 
/

 
Ouvrir

 
le

 
fichier

 
temporaire

 
,

 
et

 
utiliser

 
les

 
données

 
.

 
/

 
/

 
Le

 
formulaire

 
pdf

 
contenait

 
différents

 
fichiers

 
texte

 
,

 
avec

 
pour

 
nom

 
:

 
/

 
/

 
volume

 
,

 
date

 
,

 
comment

 
,

 
publisher

 
,

 
preparer

 
,

 
ainsi

 
que

 
deux

 
boîtes

 
/

 
/

 
à

 
cocher

 
show_publisher

 
et

 
show_preparer

 
.

 
$fdf

 
=

 
fdf_open("test.fdf")

 
;

 
$volume

 
=

 
fdf_get_value($fdf

 
,

 
"volume")

 
;

 
echo

 
"La

 
valeur

 
du

 
champs

 
volume

 
était

 
:

 
'

 
B

 
$volume

 
/

 
B

 
'

 
br

 
"

 
;

 
$date

 
=

 
fdf_get_value($fdf

 
,

 
"date")

 
;

 
echo

 
"La

 
valeur

 
du

 
champs

 
date

 
était

 
'

 
B

 
$date

 
/

 
B

 
'

 
br

 
"

 
;

 
$comment

 
=

 
fdf_get_value($fdf

 
,

 
"comment")

 
;

 
echo

 
"La

 
valeur

 
du

 
champs

 
comment

 
était

 
'

 
B

 
$comment

 
/

 
B

 
'

 
br

 
"

 
;

 
if(fdf_get_value($fdf

 
,

 
"show_publisher"

 
)

 
==

 
"On"

 
)

 
{

 
$publisher

 
=

 
fdf_get_value($fdf

 
,

 
"publisher")

 
;

 
echo

 
"La

 
valeur

 
du

 
champs

 
publisher

 
était

 
:

 
'

 
B

 
$publisher

 
/

 
B

 
'

 
br

 
"

 
;

 
}

 
else

 
echo

 
"La

 
valeur

 
du

 
champs

 
ne

 
doit

 
pas

 
être

 
affichée

 
.

 
br

 
"

 
;

 
if(fdf_get_value($fdf

 
,

 
"show_preparer"

 
)

 
==

 
"On"

 
)

 
{

 
$preparer

 
=

 
fdf_get_value($fdf

 
,

 
"preparer")

 
;

 
echo

 
"La

 
valeur

 
du

 
champs

 
preparer

 
était

 
'

 
B

 
$preparer

 
/

 
B

 
'

 
br

 
"

 
;

 
}

 
else

 
echo

 
"La

 
valeur

 
du

 
champs

 
Preparer

 
ne

 
doit

 
pas

 
être

 
affiché

 
.

 
br

 
"

 
;

 
fdf_close($fdf)

 
;

 
?



Table des matières
fdf_add_doc_javascript -- Adds javascript code to the FDF document
fdf_add_template -- Adds a template into the FDF document
fdf_close -- Ferme un document FDF.
fdf_create -- Crée un nouveau document FDF.
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 -- Lit la valeur de la clé /F.
fdf_get_status -- Lit la valeur de la clé /STATUS.
fdf_get_value -- Mot la valeur d'un champs.
fdf_get_version -- Gets version number for FDF api or file
fdf_header -- Sets FDF-specific output headers
fdf_next_field_name -- Lit le nom du champs suivant.
fdf_open_string -- Read a FDF document from a string
fdf_open -- Ouvre un document FDF.
fdf_save_string -- Returns the FDF document as a string
fdf_save -- Sauver un document FDF.
fdf_set_ap -- Fixe l'apparence d'un champs.
fdf_set_encoding -- Modifie l'encodage des caractères
fdf_set_file -- Fixe la valeur de la clé /F.
fdf_set_flags -- Modifie une option d'un champs
fdf_set_javascript_action -- Modifie l'action javascript d'un champs
fdf_set_opt -- Modifie une option d'un champs
fdf_set_status -- Fixe la valeur de la clé /STATUS.
fdf_set_submit_form_action -- Modifie l'action d'un formulaire
fdf_set_target_frame -- Set target frame for form display
fdf_set_value -- Fixe la valeur d'un champs.
fdf_set_version -- Sets version number for a FDF file