# Формат данных форм

# Введение

Формат данных форм (FDF) - это формат для обработки форм в документах PDF. Более подробно данный формат описан в документации на сайте » http://www.adobe.com/devnet/acrobat/fdftoolkit.html.

Главная идея FDF похожа на формы HTML. Отличие только в формате передачи данных на сервер после нажатия кнопки "Отправить" (как раз про это и FDF) и формате самой формы (а это PDF). Обработка данных формы - это одна из возможностей, предоставляемых функциями fdf. Другая возможность - можно автоматически заполнить существующую форму данными. В этом случае мы можем создать документ FDF (fdf_create()), задать значения для каждого поля ввода (fdf_set_value()) и связать его с формой PDF (fdf_set_file()). В итоге она будет отправлена браузеру с Mime-типом `application/vnd.fdf`. Плагин "Acrobat reader" в вашем браузере опознает Mime-тип, прочитает связанную форму PDF и заполнит её данными из документа FDF.

Если вы посмотрите на документ FDF в простом текстовом редакторе, вы увидите каталог объектов с именем `FDF`. Такой объект может содержать набор элементов, таких как `Fields`, `F`, `Status` и т.д. Наиболее часто использующаяся запись - это `Fields`, которая содержит список полей ввода, и `F`, которая содержит имя файла документа PDF, для которого предназначены данные. Эти записи называются в документации PDF как /F-Key или /Status-Key. Изменение этих записей производится такими функциями как fdf_set_file() и fdf_set_status(). Поля модифицируются функциями fdf_set_value(), fdf_set_opt() и т.д.

- Установка и настройка
  - Требования
  - Установка
  - Типы ресурсов
- Предопределённые константы
- Примеры
- FDF
  - fdf_add_doc_javascript — Добавляет код javascript в документ FDF
  - fdf_add_template — Добавляет шаблон в FDF-документ
  - fdf_close — Закрывает FDF-документ
  - fdf_create — Создаёт новый документ FDF
  - fdf_enum_values — Вызывает пользовательскую функцию для каждого значения документа
  - fdf_errno — Возвращает код ошибки для последней операции FDF
  - fdf_error — Возвращает описание ошибки для кода ошибки FDF
  - fdf_get_ap — Получает вид поля
  - fdf_get_attachment — Извлекает загруженный файл, встроенный в FDF
  - fdf_get_encoding — Получает значение ключа /Encoding
  - fdf_get_file — Получает значение ключа /F
  - fdf_get_flags — Получает флаги поля
  - fdf_get_opt — Получает значение из массива opt поля
  - fdf_get_status — Получает значение ключа /STATUS
  - fdf_get_value — Получает значение поля
  - fdf_get_version — Получает номер версии API-интерфейса FDF-инструментария или FDF-файла
  - fdf_header — Устанавливает специфичные для FDF выходные заголовки
  - fdf_next_field_name — Получает имя следующего поля
  - fdf_open — Открывает документ FDF
  - fdf_open_string — Читает FDF документ из строки
  - fdf_remove_item — Устанавливает целевой фрейм для формы
  - fdf_save — Сохраняет документ FDF
  - fdf_save_string — Возвращает документ FDF в виде строки
  - fdf_set_ap — Устанавливает внешний вид поля
  - fdf_set_encoding — Устанавливает кодировку символов FDF
  - fdf_set_file — Устанавливает PDF-документ для отображения данных FDF
  - fdf_set_flags — Устанавливает флаг поля
  - fdf_set_javascript_action — Устанавливает действие javascript для поля
  - fdf_set_on_import_javascript — Добавляет код JavaScript, который будет выполняться, когда Acrobat открывает FDF
  - fdf_set_opt — Устанавливает параметры поля
  - fdf_set_status — Устанавливает значение ключа /STATUS
  - fdf_set_submit_form_action — Устанавливает действие формы отправки поля
  - fdf_set_target_frame — Устанавливает целевой фрейм для отображения формы
  - fdf_set_value — Устанавливает значение поля
  - fdf_set_version — Устанавливает номер версии для FDF-файла

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