# Formato de formulario

# Introducción

`Forms Data Format` (FDF) es un formato de formulario para documentos PDF. La documentación (en inglés) puede ser leída en » http://www.adobe.com/devnet/acrobat/fdftoolkit.html para más detalles sobre los pormenores.

El espíritu de FDF es similar al de los formularios HTML. Las diferencias radican en los medios de transmisión de los datos al servidor, cuando el botón `"submit"` (enviar) es presionado (lo cual es del ámbito de Form Data Format) y el formato de formulario en sí mismo (que es más bien del ámbito de Portable Document Format, PDF). Gestionar datos FDF es uno de los objetivos de las funciones FDF. Pero hay otros. También es posible tomar un formulario PDF y prellenar los campos sin modificar el formulario en sí. En este caso, se creará un documento FDF (fdf_create()), se llenarán los campos (fdf_set_value()) y se asociará a un fichero PDF (fdf_set_file()). Finalmente, todo será enviado al cliente, con el tipo MIME `application/vnd.fdf`. El módulo `"Acrobat reader"` del navegador reconocerá este tipo MIME y leerá el fichero PDF, luego lo llenará con FDF.

Si se edita un fichero FDF con un editor de texto, se encontrará un catálogo de objetos con el nombre de `FDF`. Este objeto puede contener entradas tales como `Fields`, `F`, `Status` etc. Las entradas más comúnmente utilizadas son `Fields`, que indica una lista de campos de control, y `F` que contiene el nombre del fichero PDF al que pertenecen estos datos. Estas entradas son designadas en la documentación PDF bajo el nombre de /F-Key o /Status-Key. La modificación de estas entradas es posible con las funciones fdf_set_file() y fdf_set_status(). Los campos son modificables con las funciones fdf_set_value(), fdf_set_opt() etc.

- Instalación/Configuración
  - Requerimientos
  - Instalación
  - Tipos de recursos
- Constantes predefinidas
- Ejemplos
- Funciones FDF
  - fdf_add_doc_javascript — Añade código javascript a un documento FDF
  - fdf_add_template — Añade una plantilla en el documento FDF
  - fdf_close — Cierra un documento FDF
  - fdf_create — Crea un nuevo documento FDF
  - fdf_enum_values — Llama a una función de usuario para cada valor FDF
  - fdf_errno — Devuelve el código de error de la última operación FDF
  - fdf_error — Devuelve el mensaje de error FDF
  - fdf_get_ap — Lee la apariencia de un campo
  - fdf_get_attachment — Extrae un fichero integrado en un documento FDF
  - fdf_get_encoding — Lee el valor de la clave /Encoding
  - fdf_get_file — Lee el valor de la clave /F
  - fdf_get_flags — Lee los atributos de un campo FDF
  - fdf_get_opt — Lee un valor en un array de valores de un campo FDF
  - fdf_get_status — Lee el valor de la clave /STATUS
  - fdf_get_value — Devuelve el valor de un campo FDF
  - fdf_get_version — Lee el número de versión de la API FDF
  - fdf_header — Emite las cabeceras HTTP específicas de FDF
  - fdf_next_field_name — Lee el nombre del siguiente campo FDF
  - fdf_open — Abre un documento FDF
  - fdf_open_string — Lee un documento FDF a partir de un string
  - fdf_remove_item — Configura el marco FDF de destino para el formulario
  - fdf_save — Guarda un documento FDF
  - fdf_save_string — Devuelve un documento FDF en forma de string
  - fdf_set_ap — Fija la apariencia de un campo FDF
  - fdf_set_encoding — Modifica la codificación de caracteres
  - fdf_set_file — Crea un documento PDF para mostrar datos FDF
  - fdf_set_flags — Modifica una opción de un campo
  - fdf_set_javascript_action — Modifica la acción javascript de un campo
  - fdf_set_on_import_javascript — Añade código Javascript para ser ejecutado cuando Acrobat abre un FDF
  - fdf_set_opt — Modifica una opción de un campo
  - fdf_set_status — Establece el valor de la clave /STATUS
  - fdf_set_submit_form_action — Modifica la acción de un formulario
  - fdf_set_target_frame — Configura el marco de destino para la visualización del formulario
  - fdf_set_value — Modifica el valor de un campo FDF
  - fdf_set_version — Modifica el número de versión del fichero FDF

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open