Функции формата форм данных (FDF)
Формат Форм Данных (FDF) - это формат, предназначенный для того, чтобы обращаться с формами в пределах документов формата PDF. Вы можете ознакомиться с документацией на
http://partners.adobe.com/asn/acrobat/forms.jsp
для подробной информации о том, чем FDF является и как это используется вообще.
Общая идея относительно FDF подобна формам HTML. Различие - в основном формат, как данные переданы на сервер, когда представленная кнопка нажата (это - фактически Формат данных Формы) и формат формы непосредственно (который является форматом PDF). Обработка FDF данных - одна из особенностей, обеспечиваемых функциями fdf. Но есть больше. Можно также взять существующую форму формата PDF и заполнить входные поля с данными, не изменяя форму непосредственно. В таком случае можно было бы создать FDF документ
(fdf_create()) установить значения каждого входного поля
(fdf_set_value()) и ассоциировать это с формой формата PDF
(fdf_set_file()). Наконец это нужно послать броузеру с использованием типа Mime application/vnd.fdf. Плагин Acrobat Reader вашего браузера распознает MimeType, читает связанный формат PDF, и заполняется данными из FDF документа.
Если Вы смотрите на FDF-документ с помощью текстового редактора, Вы найдете объект каталога с названием FDF. Такой объект может содержать множество входов подобно Fields, F, Status и.т.д. Обычно используемые входы - Fields(поля), которые указывают на список входных полей, и F, который содержит имя файла документа PDF, которому эти данные принадлежат. Эти входы упомянуты в FDF документации как /F-Key or /Status-Key.
Изменение этих входов производится функциями подобно fdf_set_file() и
fdf_set_status(). Поля изменяются с помощью
fdf_set_value(), fdf_set_opt() и.т.д.
Вам необходим FDF SDK инструментарий, доступный на
http://partners.adobe.com/asn/acrobat/forms.jsp.
Для PHP 4.3 Вам необходим SDK версии не менее 5.0.
FDF библиотека инструментария доступна в только в бинарном формате, платформы, поддерживаемые Adobe - Win32, Linux, Solaris и AIX.
Вам необходим PHP, скомпилированный с опцией
--with-fdftk[=DIR].
Замечание:
Если Вы сталкиваетесь с проблемами конфигурирования PHP с поддержкой fdftk, проверьте файл заголовка fdftk.h и библиотеку
libfdftk.so Они должны находится на своем месте.
Сценарий конфигурирования поддерживает и директивную структуру FDF SDK дистрибутива и обычный DIR/include /
DIR/lib размещение, так что Вы можете указать это или непосредственно к распакованному дистрибутивному каталогу, или поместить файл заголовка и соответствующую библиотеку для вашей платформы например в /usr/local/include и
/usr/local/lib и скомпилировать с опцией
--with-fdftk=/usr/local.
Для пользователей Windows:
Чтобы включить этот модуль на среде Windows, Вы должны скопировать
fdftk.dll из папки DLL Вашего пакета PHP в папку SYSTEM32 Вашей Windows. (Например: C:\WINNT\SYSTEM32
или C:\WINDOWS\SYSTEM32)
Данное расширение не определяет никакие директивы конфигурации в php.ini.
Большинство функций fdf требует fdf ресурса как их первый параметр. fdf ресурс - дескриптор к открытому fdf файлу. fdf ресурсы могут быть получены, используя fdf_create(),
fdf_open() и fdf_open_string().
Перечисленные ниже константы определены данным расширением и могут быть
доступны только в том случае, если PHP был собран с
поддержкой этого расширения или же в том случае, если
данное расширение подгружается во время выполнения.
Следующие примеры показывают только оценку данных формы.
Пример 1. Оценка FDF документа
<?php // Открыть fdf от входной строки, обеспеченной расширением
// Форма pdf содержала несколько входных текстовых полей с именами
// volume, date, comment, publisher, preparer, и два checkboxes
// show_publisher и show_preparer.
$fdf = fdf_open_string($HTTP_FDF_DATA);
$volume = fdf_get_value($fdf, "volume"); echo "The volume field has the value '<b>$volume</b>'<br />";
$date = fdf_get_value($fdf, "date"); echo "The date field has the value '<b>$date</b>'<br />";
$comment = fdf_get_value($fdf, "comment"); echo "The comment field has the value '<b>$comment</b>'<br />";
if (fdf_get_value($fdf, "show_publisher") == "On") { $publisher = fdf_get_value($fdf, "publisher"); echo "The publisher field has the value '<b>$publisher</b>'<br />"; } else echo "Publisher shall not be shown.<br />";
if (fdf_get_value($fdf, "show_preparer") == "On") { $preparer = fdf_get_value($fdf, "preparer"); echo "The preparer field has the value '<b>$preparer</b>'<br />"; } else echo "Preparer shall not be shown.<br />";
fdf_close($fdf);
?>
|
|
|