Новые книги

Журналист Дэвид Оуэн рассказывает историю изобретения, без которого немыслима жизнь современного офиса – копировального аппарата. Уникальный случай: он был создан усилиями практически одного человека. Поразительное упорство изобретателя Честера Карлсона принесло ему славу второго Гутенберга и избавило тысячи людей на планете от изнурительного переписывания документов. Автор прослеживает путь Честера от первого ксерографического аппарата, изготовленного в 1938 году, до создания гигантской корпорации Xerox, чье название стало синонимом высочайшего качества и скорости копирования. Это захватывающее повествование о борьбе за реализацию грандиозного открытия, которое журнал Fortune позднее назвал «самым успешным товаром, который когда-либо продавался в Америке».
Вы никогда не задумывались о том, что вся наша современная цивилизация, со всеми ее величайшими технологическими прорывами и товарно-услуговыми благами основана на… лени? С помощью обещания что-либо сделать за нас можно продать практически все, что угодно, если бы не одно НО. И это НО – обычный страх, единственный, способный победить лень и побудить нас сделать что-то, чего совсем не хочется и даже если ооооооочень лень! А это значит, что продать все и всем можно с помощью основных человеческих пороков – лени и страха.

Книга в первую очередь рекомендована маркетологам, специалистам по продажам, руководителям компаний и всем тем, у кого есть хоть одна фобия! Здесь вы найдете массу интересных и креативных примеров, взятых из жизни. Где-то от души посмеетесь, быть может, до корней волос похолодеете, но равнодушными, верим, точно не останетесь!

Функции Forms Data Format

Учебник РНР
НазадВперёд

XXXI. Функции Forms Data Format

Введение

Forms Data Format (FDF) это формат для обработки форм в PDF-документах. Вам необходимо прочесть документацию http://partners.adobe.com/asn/developer/acrosdk/forms.html, чтобы узнать больше о том, что такое FDF и как его использовать.

Общая идея FDF напоминает HTML-формы. Разница в основном в формате передачи данных на сервер при нажатии копки submit (это формат Form Data Format) и в формате самой формы (которая имеет формат Portable Document Format, PDF). Процессинг FDF-данных является одной из возможностей, предоставляемой fdf-функциями. Но есть и ещё кое-что.
Можно также взять существующую PDF-форму и заполнить поля ввода (input) данными без модификации самой формы. Тогда можно будет создать FDF-документ (fdf_create()), установить значения каждого поля ввода (fdf_set_value()) и ассоциировать его с PDF-формой (fdf_set_file()). Наконец, он отправляется браузеру с MimeType application/vnd.fdf. Компонент Acrobat reader вашего браузера распозн́ает MimeType, прочитает ассоциированную PDF-форму и заполнит её данными из FDF-документа.

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

Требования

Вы обязаны загрузить FDF toolkit с http://partners.adobe.com/asn/developer/acrosdk/forms.html

Установка

Вы обязаны скомпилировать PHP с--with-fdftk[=DIR].

Примечание: если у вас появляются проблемы с конфигурированием PHP с поддержкой fdftk, проверьте, находятся ли header-файл FdfTk.h и библиотека libFdfTk.so в соответствующих местах. Они должны быть в каталогах fdftk-dir/include и в fdftk-dir/lib. Этих директорий не будет, если вы просто распакуете дистрибутив FdfTk.

Конфигурация

Это расширение не определяет никаких директив конфигурации.

Типы ресурсов

Предопределённые константы

Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.

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)

Примеры

В следующем примере показано простое вычисление данных формы.

Пример 1. Обсчёт FDF-документа
<?php
// сохранить FDF-данные во временном файле
$fdffp = fopen("test.fdf", "w");
fwrite($fdffp, $HTTP_FDF_DATA, strlen($HTTP_FDF_DATA));
fclose($fdffp);

// открыть временный файл и обсчитать данные
// pdf-форма содержала несколько полей ввода текста с именами:
// volume, date, comment, publisher, preparer, и два переключателя/checkbox:
// show_publisher и show_preparer

$fdf = fdf_open("test.fdf");
$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);
?>
Содержание
fdf_add_template - добавляет шаблон в FDF-документ
fdf_close - закрывает FDF-документ
fdf_create - создаёт новый FDF-документ
fdf_get_file - получает значение ключа /F
fdf_get_status - получает значение ключа /STATUS
fdf_get_value - получает значение поля
fdf_next_field_name - получает имя следующего поля
fdf_open - открывает FDF-документ
fdf_save - сохраняет FDF-документ
fdf_set_ap - устанавливает отображение поля
fdf_set_encoding - устанавливает FDF-кодировку символов FDF
fdf_set_file - устанавливает значение ключа /F key
fdf_set_flags - устанавливает флаг поля
fdf_set_javascript_action - устанавливает акцию javascript для поля
fdf_set_opt - устанавливает опцию поля
fdf_set_status - устанавливает значение ключа /STATUS
fdf_set_submit_form_action - устанавливает акцию submit form поля
fdf_set_value - устанавливает значение поля

Назад Оглавление Вперёд
unlink Вверх fdf_add_template