Справочник по PHP - white cat
Шрифт:
Интервал:
Закладка:
$fp = fopen("test.pdf", "r");
header("Content-type: application/pdf");
fpassthru($fp);
fclose($fp);
?>
Открытие документа
pdf_set_info
Заполнение поля информации документа.
Синтаксис:
void pdf_set_info(int pdf_document, string fieldname, string value)
Возможные поля fieldname:
Функция должна вызываться до создания страниц.
<?php
$fd = fopen("test.pdf", "w");
$pdfdoc = pdf_open($fd);
pdf_set_info($pdfdoc, "Author", "Имя автора");
pdf_set_info($pdfdoc, "Creator", "Название создателя");
pdf_set_info($pdfdoc, "Title", "Заголовок");
pdf_set_info($pdfdoc, "Subject", "Тема");
pdf_set_info($pdfdoc, "Kewwords", "Ключевые, слова");
pdf_set_info($pdfdoc, "CustomField", "Чтото еще");
pdf_begin_page($pdfdoc, 595, 842);
pdf_end_page($pdfdoc);
pdf_close($pdfdoc);
?>
Эта функция заменяет собой pdf_set_info_keyword(), pdf_set_info_title(), pdf_set_info_subject(), pdf_set_info_creator().
pdf_open
Открытие нового документа pdf.
Синтаксис:
int pdf_open(int file)
Функция делает файл, открытый функцией fopen(), документом pdf. Если не указывать дескриптор файла, он создается в памяти и затем может выводиться на стандартный поток вывода или отсылаться броузеру. Функция возвращает дескриптор документа, который следует указывать в последующих pdf-функциях.
pdf_close
Закрытие документа pdf.
Синтаксис:
void pdf_close(int pdf_document)
pdf_begin_page
Начало новой страницы.
Синтаксис:
void pdf_begin_page(int pdf_document, double width, double height)
Аргументы height и width задают высоту и ширину страницы. После внесения на страницу информации ее следует закрыть функцией pdf_end_page().
pdf_end_page
Завершение страницы.
Синтаксис:
void pdf_end_page(int pdf_document)
После этой функции модификация этой страницы невозможна.
Работа с текстом
pdf_show
Вывод текста в текущую позицию.
Синтаксис:
void pdf_show(int pdf_document, string text)
Для вывода используются текущая позиция и текущий шрифт.
pdf_show_boxed
Вывод текста в прямоугольную область.
Синтаксис:
void pdf_show_boxed(int pdf_document, string text, double x, double y, double width, double height, string mode [, string feature])
Левый нижний угол области вывода задается (x:y); высота и ширина - height, width.
Аргумент mode определяет выравнивание текста: если высота и ширина равны нулю, то возможны значения:
если они не равны нулю, то
Если аргумент feature содержит значение "blind", текст не отображается.
Функция возвращает число символов, которые не поместились в указанный прямоугольник.
pdf_show_xy
Вывод текста в указанную позицию.
Синтаксис:
void pdf_show_xy(int pdf_document, string text, double x, double y)
pdf_set_font
Выбор шрифта, его размера и кодировки.
Синтаксис:
void pdf_set_font(int pdf_document, string font_name, double size, string encoding [, int embed])
Аргумент вида кодировки encoding может принимать значения:
Если для последнего аргумента задано значение 1, шрифт будет внедрен в документ pdf (иначе нет). Если шрифт распространен, внедрять его не следует из-за увеличения размера документа.
Функция должна вызываться после pdf_begin_page().
pdf_set_leading
Установка промежутка между строками текста.
Синтаксис:
void pdf_set_leading(int pdf_document, double distance)
Используется при выводе текста функцией pdf_continue_text().
pdf_set_parameter
Установка строкового значения параметра pdflib.
Синтаксис:
void pdf_set_parameter(int pdf_document, string name, string value)
pdf_get_parameter
Получение строкового значения параметра pdflib.
Синтаксис:
void pdf_get_parameter(int pdf_document, string name [, double modifier])
Аргумент modifier используется при необходимости.
pdf_set_value
Установка численного значения параметра pdflib.
Синтаксис:
void pdf_set_value(int pdf_document, string name, double value)
pdf_get_value
Получение численного значения параметра pdflib.
Синтаксис:
void pdf_get_value(int pdf_document, string name [, double modifier])
Аргумент modifier используется при необходимости.
pdf_set_text_rendering
Установка метода вывода текста.
Синтаксис:
void pdf_set_text_rendering(int pdf_document, string mode)
Устарела, используйте pdf_set_value().
pdf_set_horiz_scaling
Установка масштабирования текста по горизонтали.
Синтаксис:
void pdf_set_horiz_scaling(int pdf_document, double scale)
pdf_set_text_rise
Установка подъема текста.
Синтаксис:
void pdf_set_text_rise(int pdf_document, double rise)
pdf_set_text_matrix
Установка матрицы преобразований шрифта.
Синтаксис:
void pdf_set_text_matrix(int pdf_document, array matrix)
Начиная с версии pdflib 2.3 эта функция недоступна.
pdf_set_text_pos
Установка позиции шрифта.
Синтаксис:
void pdf_set_text_pos(int pdf_document, double x-coor, double y-coor)
Устанавливает позицию вывода текста последующим вызовом pdf_show().
pdf_set_char_spacing
Установка интервала между символами.
Синтаксис:
void pdf_set_char_spacing(int pdf_document, double space)
Устарела, используйте pdf_set_value().
pdf_set_word_spacing
Установка интервала между символами.
Синтаксис:
void pdf_set_word_spacing(int pdf_document, double space)
Устарела, используйте pdf_set_value().
pdf_skew
Поворот системы координат.
Синтаксис:
void pdf_skew(int pdf_document, double alpha, double beta)
Угол поворота в градусах указывается относительно осей alpha (x) и beta (y). Углы не могут принимать значения 90 или 270 градусов.
pdf_continue_text
Вывод текста со следующей строки.
Синтаксис:
void pdf_continue_text(int pdf_document, string text)
Расстояние между строками может быть установлено функцией pdf_set_leading().
pdf_stringwidth
Вычисление ширины текста.
Синтаксис:
void pdf_stringwidth(int pdf_document, string text)
При вычислении длины строки используется текущий шрифт. Предварительно шрифт должен быть установлен с помощью pdf_set_font().
pdf_save
Сохранение текущих установок.
Синтаксис:
void pdf_save(int pdf_document)
Действует подобно команде postscript gsave. Полезна при необходимости масштабировать или развернуть объект, не воздействуя на другие объекты. pdf_save() требует, чтобы затем была вызвана функция pdf_restore().
pdf_restore
Восстановление ранее сохраненных установок.
Синтаксис:
void pdf_restore(int pdf_document)
Восстанавливает установки, сохраненные pdf_save(). Действует подобно команде postscript grestore.
<?php
pdf_save($pdf);
// всякие вращения и трансформации ...
pdf_restore($pdf);
?>
Установка масштаба и системы координат
pdf_translate
Установка начала системы координат.
Синтаксис:
void pdf_translate(int pdf_document, double x, double y)
Координаты указываются относительно текущей точки отсчета. Затем, до начала рисования объектов, требуется установить текущую точку.
<?php
pdf_moveto($pdf, 0, 0);
pdf_lineto($pdf, 100, 100);
pdf_stroke($pdf);
psd_translate($pdf, 100, 100);
pdf_moveto($pdf, 0, 0);
pdf_lineto($pdf, 100, 100);
pdf_stroke($pdf);
?>
pdf_scale
Установка масштабирования.
Синтаксис:
void pdf_scale(int pdf_document, double x_scale, double y_scale)
<?php
pdf_scale($pdf, 72.0, 72.0);
pdf_lineto($pdf, 1, 1); // на дюйм
pdf_stroke($pdf);
?>
pdf_rotate
Установка угла вращения в градусах.
Синтаксис:
void pdf_rotate(int pdf_document, double angle)
pdf_setflat
Установка равномерности.
Синтаксис:
void pdf_setflat(int pdf_document, double value)
Возможные значения параметра - от 0 до 100.
pdf_setlinejoin
Установка параметра linejoin.
Синтаксис:
void pdf_setlinejoin(int pdf_document, double value)
Возможные значения параметра - от 0 до 2.
pdf_setlinecap
Установка параметра linecap.
Синтаксис:
void pdf_setlinecap(int pdf_document, double value)
Возможные значения параметра - от 0 до 2.
pdf_setmiterlimit
Установка параметра miter limit.
Синтаксис:
void pdf_miterlimit(int pdf_document, double value)
Возможные значения параметра - 1 и более.
pdf_setlinewidth
Установка ширины строк.
Синтаксис:
void pdf_setlinewidth(int pdf_document, double width)
pdf_setdash
Установка текущей точки.