Выбрать главу

Эта функция доступна только в том случае, если PHP был скомпилирован с опцией --enable-t1lib.

imagePsExtendFont

Масштабирование шрифта.

Синтаксис:

bool imagePsExtendFont (int font_index, float extend)

Функция производит растяжение или сжатие шрифта, заданного параметром font_index до размера, заданного параметром extend.

Если значение параметра extend меньше 1, то шрифт будет уменьшаться.

Эта функция доступна только в том случае, если PHP был скомпилирован с опцией --enable-t1lib.

imagePsSlantFont

Установка наклона шрифта.

Синтаксис:

bool imagePsSlantFont(int font_index, double slant)

Функция устанавливает наклон шрифта font_index в значение, заданное параметром slant.

Эта функция доступна только в том случае, если PHP был скомпилирован с опцией --enable-t1lib.

imagePSBBox

Расчет площади, занимаемой строкой шрифта PostScript Type 1.

Синтаксис:

array imagePSBBox( string text, int font, int size [, int space [, int tightness [, float angle]]])

Расчеты производятся на основании аргументов:

Значения space и tightness измеряются в долях пробела (1/1000).

Аргументы space, tightness, angle не обязательны.

Результаты расчета недостаточно точны. Функция возвращает массив:

Эта функция доступна только в том случае, если 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, созданной Томасом Мерзем; также могут потребоваться библиотеки JPEG и TIFF.

С 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-функции позволяют PHP создавать PDF-файлы с помощью библиотеки PDF, созданной Томасом Мерзем; также могут потребоваться библиотеки JPEG и TIFF.

С 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_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", "Название создателя");