Создание PDF файлов с помощью PHP
Portable Document Format (PDF) — кроссплатформенный формат электронных документов, созданный фирмой Adobe Systems с использованием ряда возможностей языка PostScript. В первую очередь предназначен для представления в электронном виде полиграфической продукции, — значительное количество современного профессионального печатного оборудования может обрабатывать PDF непосредственно. В этом уроке я расскажу, как создать PDF файл с помощью PHP и FPDF. Вы убедитесь, что PDF файлы могут создаваться очень легко.
С чего начнем?
Мы будем использовать PHP и бесплатную библиотеку FPDF для создания простых PDF документов.
Как и любой проект, мы должны собрать все, что нам понадобится для создания PDF файла. Для урока нам понадобится какой-то текст, PHP библиотека FPDF. Для установки библиотеки, Вам необходимо просто необходимо создать папку с именем fpdf и распаковать в нее архив.
Шаг №1. Создадим класс.
В корневой папе сайта давайте создадим файл с именем index.php, который будет содержать наш код. Чтобы начать пользоваться FPDF сначала необходимо его подключить. Если мы не подключим файл fpdf.php, то все, что мы сделаем работать не будет.
// Подключаем необходимый файл. require 'fpdf/fpdf.php'; // Устанавливаем переменные $author = "Евгений Фединчик"; $x = 50; $text = <<<EOT /*В этом месте размещается текст*/EOT; // Создаем fpdf объект $pdf = new FPDF('P', 'pt', 'Letter');
Мы установили переменные, которые будем использовать в будущем. Для того, чтобы использовать библиотеку FPDF, мы создали FPDF объект, который мы поместили в переменную pdf. Также мы задали некоторые значения для объекта FPDF, которые создают основное форматирование.
Шаг №2. Шрифты
Нашим следующим шагом является создание шрифта для документа. FPDF использует шрифты, которые определенны файлом, таким образом, если Вы хотите использовать какой-то шрифт его надо определить для FPDF. Для создания необходимых шрифтов, необходимо использовать файл makefile.php, который находится в папке font. В этом уроке мы не будем рассматривать, как создавать дополнительные шрифты.
ПРИМЕЧАНИЕ: шрифты должны быть объявлены до добавления и вывода данных.
// Установка базовой настройки шрифта.
$pdf->SetFont('Times', 'B', 24);
Метод SetFont имеет три параметра – Название шрифта, Любое форматирование (В – жирный, I – курсив, Пустое место – без форматирование), и размер шрифта. Любой вывод символов будет использовать это форматирование, пока мы не изменим его.
Шаг №3. Настойка вывода.
Хорошо, теперь мы можем начать вывод текста! Ну, почти. Во-первых, мы должны добавить страницу в документ, чтобы что-то выводить, для этого мы будем использовать AddPage.
// Добавить новую страницу в документ $pdf->addPage();
Переместим курсор в наш документ с помощью SetXY, который принимает позицию курсора X и Y (Простыми словами, мы создаем первоначальное значение курсора, откуда будет начинать, выводится текст). Таким образом, мы будем использовать точки. Если Вы внимательно посмотрите, то заметите, что я также использую переменную X. Поскольку мы создаем простой PDF документ, то выравнивание будет по левому краю.
// Устанавливаем координаты курсора $pdf->SetXY($x,50);
Шаг №4. Выводим.
Наконец, мы можем вывести! FPDF предусматривает два основных способа вывода данных, в зависимости от характера документа - Write и Cell. В нашем примере мы будем использовать Write.
$pdf->Write(25,'Simple PDF');
Write принимает два параметра – высота линии и текст надписи.
Шаг №5. Oooh, можете себе представить!
Если мы хотим написать текст другим шрифтом или форматированием? Нет проблем, мы просто должны добавить одну команду и использовать Cell вместо Write.
// Сброс значений шрифта
$pdf->SetFont('Courier','I',10);
// Устанавливаем цвет шрифта
$pdf->SetTextColor(255,0,0);
// Сбрасываем и устанавливаем новое положение курсора
$pdf->SetXY($x, 75);
$pdf->Cell(0,11, "От: $author", 'B', 2, 'L', false);
Мы сбросили и установили новые параметры форматирования для шрифта.
Шаг №6. Картинка для красоты.
Если Вы хотите добавить картинку в свой PDF файл, то необходимо вначале заявить об этом.
// Место изображения в PDF документе.
$pdf->Image('graph.jpg', $x, 100, 150, 112.5, 'JPG');
Команда изображения требует только файл изображения. Если Вы не зададите никаких параметров, то размер, тип и позиция изображения будут созданы автоматически. Тем не менее, если не задавать этих параметров, то Вы можете быть недовольны результатом. Кроме того, я обнаружил, что лучше использовать JPG чем PNG, хотя оба поддерживаются.
Итак, мы задали значения для FPDF, чтобы вывести изображение graph.jpg и поместить его в положение 50, 100. Размер изображения составляет 150х112,5 и тип изображения JPG.
Шаг №7. Сохраняем документ.
Хорошо! Мы почти закончили. Теперь нам только необходимо сохранить все в pdf формате. Существует четыре вида сохранения документов. Мы будем использовать Output.
// Сохраняем документ с именем simple.pdf
$pdf->Output('simple.pdf','F');
Output принимает два аргумента – имя файла с расширением .pdf, а также метод вывода. Для того, чтобы сохранить в файл необходимо использовать F. Для вывода в браузере необходимо использовать I. D – выводит в браузере и сразу скачивает. S - возвращает документ в строковый формат. Мы используем F.
На этом все!
Последние уроки категории:
Сокращение PHP кода
Вы задумывались когда — нибудь о том, что лишний и бесполезный код убивает ваше время разработки приложения/сайта. Хотя это и кажется мелочью, но когда такой мелочи становится много, то время, потраченное впустую, становится ценным. И так давайте посмотрим, что можно и нужно сокращать...
Видимость переменных в PHP
В данном уроке рассматривается область видимости переменных PHP. Объясняется различие локальной и глобальной области видимости, показывается как получить доступ к глобальным переменным внутри функции, как работать с суперглобалами и создавать статические переменные.
Как читать Rss ленты?
Читалки и агрегаторы RSS используются для доступа, чтения и управления периодически-обновляемыми лентами RSS (или Atom), которые генерируются веб-сайтами. Эти ленты предоставляют доступ к последним материалам с этих сайтов.
Установка и настройка PHP+Apache
В этом уроке хотелось бы поднять очень интересную тему – Установка и настройка веб сервера PHP5 + Apache. В интернете довольно много различных инструкций по данной теме, но только вот в основном это копипаст, а не инструкция для человека, я же постараюсь объяснить все намного проще – на пальцах. Причина для установки локального вебсервера довольно много, например скорость выполнения и отладки скриптов, простота загрузки и модернизации контента и еще много чего.
Как выбрать фреймворк
Так уж повелось, что лень – это двигатель прогресса и как бы странно это не звучало, все те блага цивилизации, которые мы имеем сейчас были сделаны в первую очередь для нашего комфорта. Так и программисты чтобы облегчить себе жизнь и тем самым получить возможность создавать более сложные проекты за менее долгое время придумали сделать себе фреймворки.




Комментарии:
Jnas 18.10.2010 14:00:47
Jnas 18.10.2010 14:01:38
admin 18.10.2010 21:59:12