- •Содержание:
- •Математические функции : Функции округления
- •Математические функции : Случайные числа
- •Математические функции : Минимум и максимум
- •Математические функции : Степенные функции
- •Математические функции : Тригонометрия
- •Математические функции : Функции повышенной точности BCMath
- •Математические функции : Функции GMP. Арифметика
- •Математические функции : Функции GMP. Математика
- •Математические функции : Функции GMP
- •Математические функции : Функции GMP. Значения функции GMP
- •Математические функции : Функции GMP. Бинарные операции
- •Работа с массивами : Создание массива
- •Работа с массивами : Сортировка массивов
- •Работа с массивами : Курсор массива
- •Работа с массивами : Ключи и значения
- •Работа с массивами : Комплексная замена в строке
- •Работа с массивами : Работа с несколькими массивами
- •Работа с массивами : Получение и удаление части массива
- •Работа с массивами : Вставка/удаление элементов
- •Работа с массивами : Переменные и массивы
- •Строковые функции : Функции отрезания пробелов
- •Строковые функции : Поиск в тексте
- •Строковые функции : Функции сравнения
- •Строковые функции : Форматирование и вывод строк
- •Строковые функции : Составление/разбиение строк
- •Строковые функции : Работа с блоками текста
- •Строковые функции : Функции для преобразования символов
- •Строковые функции : Функции изменения регистра
- •Строковые функции : Установка локали (локальных настроек)
- •Строковые функции : Преобразование кодировок
- •Строковые функции : Функции форматных преобразований
- •Строковые функции : Функции URL
- •Строковые функции : Работа с бинарными данными
- •Строковые функции : Строковые суммы и хеш-функции
- •Символические ссылки. Жесткие ссылки
- •Функции даты и времени
- •Логические функции определения типа переменной
- •Функции переменных
- •Функции для работы с функциями
- •Календарные функции
- •Работа с файлами : Открытие файла
- •Работа с файлами : Закрытие файла
- •Работа с файлами : Чтение и запись
- •Работа с файлами : Положение указателя текущей позиции
- •Работа с файлами : Функции для определения типов файлов
- •Работа с файлами : Определение параметров файла
- •Работа с файлами : Функции для работы с именами файлов
- •Работа с файлами : Функции манипулирования целыми файлами
- •Работа с файлами : Другие функции
- •Функции для работы с каталогами : Манипулирование каталогами
- •Функции для работы с каталогами : Работа с записями
- •FTP : Работа с FTP-сервером
- •FTP : Работа файлами
- •Функции IMAP
- •Функции SNMP
- •Функции Vmailmgr
- •Сетевые функции
- •Отслеживание и обработка ошибок : Введение
- •Отслеживание и обработка ошибок : Функции обработки ошибок
- •Управление сессиями : Имя группы сессии
- •Управление сессиями : Идентификатор сессии
- •Управление сессиями : Другие функции
- •Управление сессиями : Обзор обработчиков
- •Управление сессиями : Про сессии и Cookies
- •Работа с WWW : Установка заголовков ответа
- •Работа с WWW : Получение заголовков запроса
- •Работа с WWW : Работа с Cookies
- •Работа с WWW : SSI и функция virtual()
- •Управление выводом : Введение
- •Управление выводом : Функции управления выводом
- •Управление исполнением сценария PHP : Дополнительные функции
- •Почтовые функции
- •Функции запуска программ
- •Функции динамической загрузки
- •Информационные функции
- •База данных MySQL : Работа с базами данных
- •Базы данных MySQL : Обработка результатов запроса
- •PDF-документы : Введение
- •PDF-документы : Открытие документа
- •PDF-документы : Работа с текстом
- •PDF-документы : Установка масштаба и системы координат
- •PDF-документы : Черчение и заполнение фигур
- •PDF-документы : Размещение рисунков
- •PDF-документы : Стиль документа
tightness — промежутки между символами по отношении) к нормальному (может быть отрицательным);
angle — угол наклона строки в градусах.
Значения space и tightness измеряются в долях пробела (1/1000). Аргументы space, tightness, angle не обязательны.
Результаты расчета недостаточно точны. Функция возвращает массив:
•0 - нижний левый угол, Х-координата;
•1 - нижний левый угол, Y-координата;
•2 - верхний правый угол, Х-координата;
•3 - верхний правый угол, Y- координата.
Эта функция доступна только в том случае, если PHP был скомпилирован с опцией --enable-t1lib.
imagePSText
Вывод текста поверх рисунка шрифтом PostScript Type 1.
Синтаксис :
array imagePSText ( resource image, string text, int font, int size, int foreground, int background, int x, int y [, int space [, int tightness [, float angle [, int antialias_steps]]]])
Параметр size задает размер шрифта.
Координаты x, у указывают левый нижний угол первого символа. Аргументами foreground и background задаются цвета текста и фона (фон необходим только для сглаживания шрифта).
Аргумент antialias_steps позволяет указать число цветов, используемых при сглаживании текста (допустимые значения 4 и 16). Для шрифтов размером меньше 20 используйте большее значение, так как это улучшает читабельность; для больших шрифтов используйте меньшее значение, так как это увеличивает быстродействие.
Параметр angle задает наклон текста в градусах. Функция возвращает массив, подобно imagepsbbox().
Эта функция доступна только в том случае, если PHP был скомпилирован с опцией --enable-t1lib.
PDF-документы : Введение
PDF-функции позволяют PHP создавать PDF-файлы с помощью библиотеки PDF,
созданной Томасом Мерзем (http://www.pdflib.com/pdflib/index.html); также могут потребоваться библиотеки JPEG (ftp://ftp.uu.net/graphics/jpeg/) и TIFF (http://www.libtiff.org/).
С pdflib поставляется хорошая документация, описывающая возможности библиотеки. Имена функций и аргументы идентичны в библиотеке и PHP. Размеры и координаты измеряются в единицах Postscript (72 на дюйм), но это зависит от выбранного разрешения.
Аналогом библиотеки является ClibPDF.
Версии ниже 3.0 pdflib не поддерживается в PHP 4.
<?php
$fp = fopen("test.pdf". "w"); $pdf = pdf_open($fp);
pdf_set_info($pdf, "Author", "Uwe Streinmann"); pdf_set_info($pdf, "Title", "Test for PHP PDFlib"); pdf_set_info($pdf, "Creator", "See Author"); pdf_set_info($pdf, "Subject", "Testing"); pdf_begin_page($pdf, 595, 842); pdf_add_outline($pdf, "Page 1"); pdf_set_font("$pdf, "Times-Roman", 30, "host"); pdf_set_value($pdf, "textrendering", 1); pdf_show_xy($pdf, "Times Roman outlined", 50, 750); pdf_moveto($pdf, 50, 740);
pdf_lineto($pdf, 330, 740); pdf_stroke($pdf); pdf_end_page($pdf); pdf_close($pdf); fclose($fp);
echo "<A href=getpdf.php>finished</A>"; ?>
<?php
// Сценарий getpdf.php просто возвращает документ pdf $fp = fopen("test.pdf", "r");
header("Content-type: application/pdf"); fpassthru($fp);
fclose($fp); ?>
PDF-документы : Открытие документа
pdf_set_info
Заполнение поля информации документа.
Синтаксис :
void pdf_set_info(int pdf_document, string fieldname, string value)
Возможные поля fieldname:
•Subject
•Title
•Creator
•Author
•Keywords
•Одно, определяемое пользователем.
Функция должна вызываться до создания страниц.
<?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-документы : Работа с текстом
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 определяет выравнивание текста: если высота и ширина равны нулю, то возможны значения:
•left
•right
•center,
если они не равны нулю, то
•justify
•fulljustify
Если аргумент 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 может принимать значения:
•winansi (по умолчанию)
•builtin
•host
•macroman и т.д.
Если для последнего аргумента задано значение 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)
