Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #73, ЯНВАРЬ 2005 г.

PDF с нуля

Никита Кислицин

Хакер, номер #073, стр. 073-116-4


Cell(float w [, float h [, string txt [, mixed border [, int ln [, string align [, int fill [, mixed link]]]]]]])

Названия параметров очень говорящие: думаю, понятно, что float w определяет ширину таблицы, h – высоту, а txt – выводимый текст.

Метод image работает до ужаса тупо: он выводит графическое изображение в формате JPG или PNG, причем формат у функции такой:

Image(string file, float x, float y, float w [, float h [, string type [, mixed link]]])

Теперь о том, как вывести сгенерированный документ браузеру. В самом деле, мы ведь только написали класс, который генерирует документ. А как его использовать? Ответ простой: нужно создать экземпляр класса, вызвать описанный нами метод, а затем применить стандартные для FPDF функции. Вот так:

Использование описанного нами метода

<?php

define('FPDF_FONTPATH','font/');

require('fpdf.php');#Родитель нашего класса

require('pdf.class.php'); #Подключаем наш класс

$pdf = new pArt();#Создаем экземпляр

$pArt-> Open();

$pArt-> AddFont('TimesNewRomanPSMT','','times.php');

$pArt-> AddPage();#Добавляем страницу в документ

$pArt-> top('Современная физика плазмы','logo.jpg','проф. Бабецкий'); #Вызываем наш метод со статичными параметрами

$pArt-> Output(); #Выводим на экран, что получилось

?>

Давай теперь подумаем, что нужно еще сделать, чтобы получить нормальную универсальную систему для экспорта статей в формат PDF? Нужно написать еще два метода: первый будет выводить тело статьи, а второй – нижний колонтитул документа. Причем основной геморрой предстоит с созданием именно первого класса, поскольку здесь нам надо парсить все html-тэги и вносить соответствующие изменения в форматирование pdf-документа.

В самой программе нам надо написать простую функцию, которая бы подключалась к серверу БД, извлекала статью и передавала ее на обработку нашему классу. Такая вот примерная схема всего, что осталось сделать. Результат моей работы ты можешь найти на диске, будут вопросы – пиши.

CD

На нашем диске ты найдешь код описанной системы, кучу примеров и документов по FPDF.

INFO

В свободное время посети www.elroubio.net – сайт с логотипами продуктов PHP. Здесь ты найдешь качественные картинки с php-слониками в самых разных позах. Меня это очень сильно позабавило :).

WWW

Скачать примеры, документы и библиотеки для работы в PDF в PHP можно по этим ссылкам:

www.fpdf.org

http://ru.php.net/manual/ru/ref.cpdf.php

http://ru.php.net/manual/ru/ref.pdf.php

Назад на стр. 073-116-3  Содержание