XXXI. Funciones Forms Data Format (Formato de Datos de Formularios)

El Formato de Datos de Formulario ( FDF ) está diseñado para el manejo de formularios en archivos PDF . Se aconseja leer la información disponible en http : / /partners.adobe.com / asn / developer / acrosdk / forms.html para más información sobre lo que es FDF y cómo se usa en general .

Nota : Actualmente Adobe sólo proporciona una versión compatible con libc5 para Linux . Las pruebas con glibc2 provocaron un fallo de segmentado . Si alguien es capaz de hacerla funcionar , por favor coméntelo en esta página .

Nota : Si tiene problemas configurando php con soporte de fdftk , compruebe si el archivo de cabecera FdfTk.h y la librería libFdfTk.so están en su lugar correcto . Deberían encontrarse respectivamente en fdftk-dir / include y en fdftk-dir / lib . Este problema no se dará si se limita a desempaqueta la distribucón del FtdTk .

La idea general del FDF es similar a los formularios HTML . La diferencia básicamente está en el formato en que se transmiten los datos al servidor cuando se pulsa el botón de envío ( este es realmente el Formato de Datos de Formulario ) y el formato del formulario en mismo (que es el Formato de Documento Portable , PDF ) . Procesar lo datos del FDF es una de las características que proporcionan las funciones fdf . Pero aún hay más . Uno también puede tomar un formulario PDF y rellenar los campos de entrada con datos sin modificar el formulario en mismo . En dicho caso , lo que se hace es crear un documento FDF ( fdf_create( ) ) , fijar los valores de cada campo de entrada ( fdf_set_value( ) ) y asociarlo con un formulario PDF ( fdf_set_file( ) ) . Finalmente , debe ser enviado al navegador con el MimeType application / vnd.fdf . El plug-in de Acrobar reader de su navegador reconoce el MimeType , lee el formulario PDF asociado y rellena los datos a partir del documento FDF .

Los siguientes ejemplos muestran cómo se evalúan los datos de los formularios .

Ejemplo 1 . Evaluando un documento FDF

 
?php

 
/

 
/

 
Guarda

 
los

 
datos

 
FDF

 
en

 
un

 
archivo

 
temporal

 
$fdffp

 
=

 
fopen(

 
"test.fdf"

 
,

 
"w")

 
;

 
fwrite($fdffp

 
,

 
$HTTP_FDF_DATA

 
,

 
strlen($HTTP_FDF_DATA))

 
;

 
fclose($fdffp)

 
;

 
/

 
/

 
Abre

 
archivo

 
temporal

 
y

 
evalúa

 
los

 
datos

 
/

 
/

 
El

 
formulario

 
pdf

 
contenía

 
varios

 
campos

 
de

 
texto

 
con

 
los

 
nombres

 
/

 
/

 
volumen

 
,

 
fecha

 
,

 
comentario

 
,

 
editorial

 
,

 
preparador

 
,

 
y

 
dos

 
casillas

 
de

 
verificación

 
/

 
/

 
muestra_editorial

 
y

 
muestra_preparador

 
.

 
$fdf

 
=

 
fdf_open("test.fdf")

 
;

 
$volume

 
=

 
fdf_get_value($fdf

 
,

 
"volumen")

 
;

 
echo

 
"El

 
campo

 
volumen

 
tiene

 
el

 
valor

 
'

 
B

 
$volume

 
/

 
B

 
'

 
BR

 
"

 
;

 
$date

 
=

 
fdf_get_value($fdf

 
,

 
"fecha")

 
;

 
echo

 
"El

 
campo

 
fecha

 
tiene

 
el

 
valor

 
'

 
B

 
$date

 
/

 
B

 
'

 
BR

 
"

 
;

 
$comment

 
=

 
fdf_get_value($fdf

 
,

 
"comentario")

 
;

 
echo

 
"El

 
campo

 
comentario

 
tiene

 
el

 
valor

 
'

 
B

 
$comment

 
/

 
B

 
'

 
BR

 
"

 
;

 
if(fdf_get_value($fdf

 
,

 
"muestra_editorial"

 
)

 
==

 
"On"

 
)

 
{

 
$publisher

 
=

 
fdf_get_value($fdf

 
,

 
"editorial")

 
;

 
echo

 
"El

 
campo

 
editorial

 
tiene

 
el

 
valor

 
'

 
B

 
$publisher

 
/

 
B

 
'

 
BR

 
"

 
;

 
}

 
else

 
echo

 
"No

 
se

 
debe

 
mostrar

 
la

 
editorial

 
.




 
BR

 
"

 
;

 
if(fdf_get_value($fdf

 
,

 
"muestra_preparador"

 
)

 
==

 
"On"

 
)

 
{

 
$preparer

 
=

 
fdf_get_value($fdf

 
,

 
"preparador")

 
;

 
echo

 
"El

 
campo

 
preparador

 
tiene

 
el

 
valor

 
'

 
B

 
$preparer

 
/

 
B

 
'

 
BR

 
"

 
;

 
}

 
else

 
echo

 
"No

 
se

 
debe

 
mostrar

 
el

 
preparador

 
.







Tabla de contenidos
fdf_add_doc_javascript -- Adds javascript code to the FDF document
fdf_add_template -- Adds a template into the FDF document
fdf_close -- Cerrar un documento FDF
fdf_create -- Crear un documento 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 -- Obtener el valor de la clave /F
fdf_get_status -- Obtener el valor de la clave /STATUS
fdf_get_value -- Obtener el valor de un campo
fdf_get_version -- Gets version number for FDF api or file
fdf_header -- Sets FDF-specific output headers
fdf_next_field_name -- Obtener el nombre del siguiente campo
fdf_open_string -- Read a FDF document from a string
fdf_open -- Abrir un documento FDF
fdf_save_string -- Returns the FDF document as a string
fdf_save -- Guardar un documeto FDF
fdf_set_ap -- Ajusta la apariencia de un campo
fdf_set_encoding -- Sets FDF character encoding
fdf_set_file -- Fijar el valor de la clave /F
fdf_set_flags -- Sets a flag of a field
fdf_set_javascript_action -- Sets an javascript action of a field
fdf_set_opt -- Sets an option of a field
fdf_set_status -- Fija el valor de la clave /STATUS
fdf_set_submit_form_action -- Sets a submit form action of a field
fdf_set_target_frame -- Set target frame for form display
fdf_set_value -- Fijar el valor de un campo
fdf_set_version -- Sets version number for a FDF file