Учебник по основам PHP. PHPBeginner

       

Forms Data Format


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

Основная идея FDF сходна с формами HTML. Отличие состоит в передаче (отправке) данных, поскольку передаются как сами данные (FDF), так и документ формы (PDF). В обычном случае PDF-форма с данными создается на основе PDF-документа, используемого как шаблон формы. То есть сначала создается FDF-документ (fdf_create()) и устанавливаются значения для каждого ноля ввода (fdf_set_ value()), а затем ассоциируется форма PDF (fdf_set_file()). После этого происходит отправка PDF-формы браузеру (с заголовком: MiraeType appllcation/vnd.fdf). Надстройка браузера (Acrobat reader plugin) распознает MimeType и загружает ассоциированную PDF-форму, заполняя ее данными PDF-документа.

Следующий пример иллюстрирует обработку данных формы.

<?php // Save the FDF data into a temp file
$fdffp = fopenC'test.fdf". "w"):
fwnte($fdffp. $HTTP_FDF_DATA. strlen($HTTP_FDF_DATA));
fclose($fdffp);
// Open temp file and evaluate data
// pdf form содержит значения полей:
date, comment. // publisher, и checkbox: show_publisner.
$fdf = fdf_open("test.fdf"): $date = fdf_get_value($fdf. "date").
echo "The date field has the value '<B>$date</B>'<BR>":
Scomment = fdf_get_value($fdf, "comment");
echo "The comment field has the value ''e>$comment</B>
'<BR>";
if(fdf_get_value($fdf. "show_publisher")
== "On") { Spublisher = fdf_get_value($fdf. "publisher"):
echo "The publisher field has the value '<B>$publisher</B>
'<BR>": } else
echo "Publisher shall not be shown.<BR>":
fdf_close($fdf); ?>

fdf_open

Открытие документа PDF

int fdf_open (string filename)

Открываемый файл должен содержать данные, возвращенные формой PDF. В настоящее время файл необходимо создавать вручную, используя fopen() и записывая данные HTTP_FDF_DATA функцией fwrite().


<?php // Save the PDF data into a temp file
Sfdffp = fopen("test.fdf". "w"):
fwnte($fdffp, $HTTP_FDF_DATA. strlen($HTTP_FDF_DATA)):
fclose($fdffp):
// Open temp file and evaluate data $fdf = fdf_open("test fdf").
fdf_close($fdf): ?>

См. также fdf_close().

fdf_close

Закрытие документа FDF



boolean fdf_close (int fdf_document)

См. также fdf_open().

fdf_create

Создание нового документа FDF

int fdf_create (void )

Функция необходима для установки значений полей.

<?рhр Soutfdf = fdf_create();
fdf_set_value($outfdf. "volume". Svolume. 0):
fdf set_file($outfdf. "http /testfdf/resultlabel.pdf"):
fdf_save($outfdf. "outtest.fdf").
fdf_close($outfdf):
Header("Content-type: application/vnd.fdf");
$fp = fopen("outtest fdf". "r"):
fpassthru(Sfp);
unlinkC'outtest.fdf"): ?>

См. также: fdf_close(), fdf_save(), fdf_open().

fdf_save

Сохранение документа PDF

int fdf_save (string filename)

Если имя файла указано как «.», то документ будет выводиться на стандартный поток вывода (отсылаться браузеру). Это не действует, если РНР является модулем apache (для вывода используйте fpassthru()).

См. также: fdf_close() и пример в fdf_create().

fdf_get_value

Получение значения поля

string fdf_get_value (int fdfjJocument, string fieldname)

См. также fdf_set_value().

fdf_set_value

Установка значения поля

bool fdf_set_value (int fdf_document, string fieldname, string value, int isName)

Последний аргумент определяет, будет ли значение поля преобразовываться в PDF Name (isName = 1) или в PDF String (isName = 0).

См. также fdf get value().

fdf_next_field_name

Получение имени следующего поля

string fdf_next_field_name (int fdf_document, string fieldname)

Возвращает имя первого поля (если аргумент fieldname имеет значение NULL) или имя поля, следующего за полем fieldname.

См. также: fdf_set_field(). fdf_get_field().

fdf_set_ap

Установка отображения поля

bool fdf_set_ap (int fdf_document. string field_name, int face, string filename, int page_number)



Устанавливается значение ключа АР. Возможные значения аргумента face: l=FDFNormalAP, 2=FDFRolloverAP, 3=FDFDownAP.

fdf_set_status

Установка ключа STATUS

bool fdf_set_status (int fdf_document, string status)

См. также fdf_get_status().

fdf_get_status

Получение значения ключа STATUS

string fdf_get_status (int fdf_document)

См. также fdf_set_status().

fdf_set_file

Назначение документа формы, установка ключа /F

boo! fdf_set_file (int fdf_document, string filename)

Ключ /F — это ссылка на документ PDF, который заполняется данными, обычно задаваемый URL (например: http:/testfdf/resuttlabel.pdf).

См. также: fdf_get_file() и пример в fdf_create().

fdf_get_file

Получение значения ключа /F

string fdf_get_file (int fdf_document)

См. также fdf_set_file().

fdf_set_flags

Установка флага поля

boo! fdf_set_flags (int fdf_doc, string fieldname, int whichFlags, int newFlags)

См. также fdf_set_opt().

fdf_set_opt

Установка параметра поля

bool fdf_set_opt (int fdf_document. string fieldname, int element, string strl, string str2)

См. также fdf_set_flags().

fdf_set_submit_form_action

Установка действия javascript для формы

bool fdf_set_submit_form_action (int fdf_document, string fieldname, int trigger, string script, int flags)

См. также fdf_set_javascript_action().

fdf_setjavascript_action

Установка действия javascript для поля

bool fdf_set_javascript_action (int fdf_document, string fieldname, int trigger, string script)

См. также fdf_set_submit_form_action().


Содержание раздела