XXXVI. Funciones del Formato de Datos de Formulario

Introducción

El Formato de Datos de Formulario (FDF) es un formato para la gestión de formularios al interior de documentos PDF. Es recomendable que lea la documentación en http://partners.adobe.com/asn/acrobat/forms.jsp para más información sobre lo que FDF es, y el modo de usarlo en general.

La idea general de FDF es similar a la de los formularios HTML. La diferencia es básicamente el formato en que los datos son transmitidos al servidor cuando el botón de envío es pulsado (el cual viene a ser el Formato de Datos de Formulario) y el formato del formulario mismo (el cual es el Formato de Documento Portable, PDF). El procesamiento de los datos FDF es una de las características ofrecidas por las funciones fdf. Pero hay más. También es posible tomar un formulario PDF existente y poblar los campos de entrada con datos sin modificar el formulario mismo. En tal caso, es posible crear un documento FDF (fdf_create()), definir 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 tipo Mime application/vnd.fdf. El plugin lector de Acrobat en su navegador reconoce el tipo Mime, lee el formulario PDF asociado y aplica los datos del documento FDF.

Si echa un vistazo a un documento FDF con un editor de texto, encontrará un objeto de catálogo con el nombre FDF. Tal objeto puede contener cierto número de entradas como Fields, F, Status etc.. Las entradas usadas con más frecuencia son Fields, la cual apunta a una lista de campos de entrada, y F que contiene el nombre de archivo del documento PDF al que pertenecen estos datos. Esas entradas son referenciadas en la documentación FDF como /F-Key o /Status-Key. La modificación de estas entradas se realiza por medio de funciones como fdf_set_file() y fdf_set_status(). Los campos son mofidicados con fdf_set_value(), fdf_set_opt() etc..

Requirimientos

Es necesario el toolkit SDK para FDF disponible en http://partners.adobe.com/asn/acrobat/forms.jsp. A partir de PHP 4.3 necesita por lo menos la versión 5.0 del SDK. La biblioteca del toolkit FDF se encuentra disponible en forma binaria únicamente, las plataformas soportadas por Adobe son Win32, Linux, Solaris y AIX.

Instalación

You must compile PHP with --with-fdftk[=DIR].

Nota: If you run into problems configuring PHP with fdftk support, check whether the header file fdftk.h and the library libfdftk.so are at the right place. The configure script supports both the directory structure of the FDF SDK distribution and the usual DIR/include / DIR/lib layout, so you can point it either directly to the unpacked distribution directory or put the header file and the appropriate library for your platform into e.g. /usr/local/include and /usr/local/lib and configure with --with-fdftk=/usr/local.

Note to Win32 Users: In order to enable this module on a Windows environment, you must copy fdftk.dll from the DLL folder of the PHP/Win32 binary package to the SYSTEM32 folder of your windows machine. (Ex: C:\WINNT\SYSTEM32 or C:\WINDOWS\SYSTEM32)

Configuración en tiempo de ejecución

Esta extensión no tiene directivas de configuración en php.ini.

Tipos de recursos

fdf

La mayoría de funciones fdf requieren un recurso fdf como su primer parámetro. Un recurso fdf es un gestor con un archivo fdf abierto. Los recursos fdf pueden obtenerse usando fdf_create(), fdf_open() y fdf_open_string().

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

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)

Ejemplos

Los siguientes ejemplos muestran únicamente la evaluación de datos del formulario.

Ejemplo 1. Evaluación de un documento FDF

<?php
// Abrir un fdf desde la cadena de entrada entregara por la extension
// El formulario pdf contenia varios campos de entrada de texto con los
// nombres volumen, fecha, comentario, editorial, editor, y dos
// cuadros de verificacion mostrar_editorial y mostrar_editor.
$fdf = fdf_open_string($HTTP_FDF_DATA);
$volumen = fdf_get_value($fdf, "volumen");
echo
"El campo volumen tiene el valor '<b>$volumen</b>'<br />";

$fecha = fdf_get_value($fdf, "fecha");
echo
"El campo fecha tiene el valor '<b>$fecha</b>'<br />";

$comentario = fdf_get_value($fdf, "comentario");
echo
"El campo comentario tiene el valor '<b>$comentario</b>'<br />";

if (
fdf_get_value($fdf, "mostrar_editorial") == "On") {
  
$editorial = fdf_get_value($fdf, "editorial");
  echo
"El campo editorial tiene el valor '<b>$editorial</b>'<br />";
} else
  echo
"La editorial no ser&aacute; mostrada.<br />";

if (
fdf_get_value($fdf, "mostrar_editor") == "On") {
  
$editor = fdf_get_value($fdf, "editor");
  echo
"El campo editor tiene el valor '<b>$editor</b>'<br />";
} else
  echo
"El editor no ser&aacute; mostrado.<br />";
fdf_close($fdf);
?>

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_enum_values -- Call a user defined function for each document value
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_flags -- Gets the flags of a field
fdf_get_opt -- Gets a value from the opt array of a field
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_remove_item -- Sets target frame for form
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_on_import_javascript -- Adds javascript code to be executed when Acrobat opens the FDF
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

Hosting by: hurra.com
Generated: 2007-01-26 18:01:09