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 sí 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 sí 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_<BR>";
fdf_close($fdf);
?> |
|