Отображение PDF-формы с активными данными

3аполняйте сетевые PDF-формы известными данными. Для поддержки данных формы необходимо показывать их текущее состояние пользователю. Это дает ему возможность просмотра данных, обновления отдельного поля и передачи этого изменения серверу. В HTML-форме можно настроить значения полей во время работы пользователя. Чтобы заполнять поля PDF-формы данными, используйте формат Forms Data Format (Формат данных формы, FDF), как показано на рисунке.

FDF – формат данных формы

Справочник по формату PDF описывает файловый формат FDF (Формат данных формы). Его синтаксис использует для организации данных PDF-объекты. В качестве примера откройте PDF-форму в программе Acrobat и заполните некоторые поля. Экспортируйте эти данные в формате FDF, выбирая команды Advanced\Forms\Export Foms Data (Дополнительно\Формы\Экспортировать данные формы) в Acrobat 6 или File\Export\Form Data (Файл\Экспорт\Данные формы) в Acrobat 5. Форма  преобразуется в FDF-файл, который перечисляет поля в виде пар имя/значение, а затем ссылается на PDF-форму с помощью имени файла.

Раздел «Заполнение PDF-форм» предлагает РНР-сценарий для создания FDF-файла.

Для тех, кому нравится язык XML, существует инструмент XFDF — основанный на XML набор FDF-функций. Версии 5 и 6 программы Acrobat поддерживают XFDF. Его MIME-типом является application/vnd.adobe.xfdf.

Пользователи могут сохранять и управлять данными PDF-формы, используя FDF-файлы. Посетите веб-страницу http://segraves.tripod.com/index3.htm, чтобы посмотреть примеры. При работе с заполненными формами пользователь никогда не видит и не обрабатывает непосредственно FDF-файл.

Существует два способа автоматического заполнения сетевой PDF-формы данными. Можно использовать FDF-данные, которые ссылаются на PDF-форму, или создать URL, который ссылается как на PDF-форму, так и на FDF-данные.

Использование FDF-данных для заполнения форм

Один из способов автоматического заполнения сетевой формы состоит в использовании заполненного данными FDF-файла (с MIME-типом application/vnd.fdf). Браузер пользователя открывает программу Acrobat/Reader и передает ей FDF-данные. Acrobat/Reader читает их, чтобы определить местонахождение PDF-формы, загружает и отображает ее, а затем заполняет поля, используя FDF-файл. Рассматриваемая PDF-форма должна быть доступна с вашего сервера, и FDF-данные должны ссылаться на этот URL, используя ключ /F, как показано в предыдущем примере.

Убедитесь, что сервер посылает соответствующий заголовок Content-type: application/vnd.fdf при использовании FDF-файлов. Или пошлите заголовок непосредственно из сценария.

Эта методика проста, но имеет ограничения. Во-первых, не все браузеры знают, как обрабатывать FDF-данные. Во-вторых, она не всегда работает с HTML-окном. Использование следующей методики решает эти проблемы.

Объединение URL PDF-формы и FDF-файла для заполнения формы

Другой способ автоматического заполнения сетевой PDF-формы — добавление в конец URL PDF-формы ссылки на FDF-файл. В этом случае файл должен опустить ссылку к форме (ключ /F). Когда пользователь следует ссылке, программа Acrobat/Reader открывает PDF-форму и заполняет ее поля, используя данные FDF-файла. Ссылкой на PDF-файл должен быть его полный URL:

http://localhost/flne_form.pdf#FDF=http://localhost/fine_data.fdf

Или же вместо файла она должна ссылаться на PDF-генерирующий сценарий, например:

http://localhost/fineJorm.pdf#FDF=http://localhost/fdf_data.php ?t=42

Используйте эту методику ссылки на PDF-форму и на PDF-данные в одном URL при отображении заполненных форм в HTML-виде.

Используйте сервер, чтобы проверить эти способы. Windows-пользователи могут загрузить инсталлятор IndigoPerl с сайта http://www.indigostar.com.IndigoPerl — это инсталлятор Apache для Windows, поддерживающий языки Perl и РНР.

Усовершенствование метода

Файл формата FDF может содержать информацию, описывающую PDF-форму. Используйте предыдущие методы для динамического добавления аннотации к сетевой PDF-форме. Создайте примеры FDF или XFDF-файлов, открывая форму в Acrobat и добавляя аннотации. Затем выберите Document\Export Comments (Документ\Экспорт комментариев) в Acrobat 6 или File\Export\Comments (Файл\Экспорт\Комментарии) в Acrobat 5.