Генерация PDF на лету с помощью TCPDF


Когда возникает ситуация что на сайте необходимо генерировать отчеты или счета мы задумываемся в каком формате выводить файл что бы отправить клиенту или распечатать. PDF как никакой другой формат подходит для данной задачи. Он отлично обеспечивает точность отображения предоставленной в нем информации и на компьютере пользователя должен быть установлен только adobe reader, который распространяется бесплатно. А в современных операционных системах и браузерах уже есть возможность чтения PDF документов.


TCPDF – активно развивающийся проект, который включает в себя мощные механизмы для создания PDF-документов к тому же он полностью реализован на PHP. Он не требователен к хостингу, что упрощает его внедрение в действующие проекты.


Для установки TCPDF необходимо загрузить библиотеку с Sourceforge.net в архиве. В архиве находится все необходимое для работы, в том числе примеры кода.


В комплекте имеются готовые к использованию шрифты которые хранятся в каталоге fonts.


Пример:
# подключаем библиотеку 
require_once 'tcpdf/tcpdf.php'; 
# создаем объект TCPDF - документ с размерами формата A4 
# ориентация - книжная 
# единицы измерения - миллиметры 
# кодировка - UTF-8 
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);
# убираем на всякий случай шапку и футер документа
$pdf->setPrintHeader(false); 
$pdf->setPrintFooter(false);
$pdf->SetMargins(20, 25, 25);
# создаем первую страницу, на которой будет содержимое
$pdf->AddPage(); 
# устанавливаем координаты вывода текста в рамке: 
$pdf->SetXY(90, 10); 
# 90 мм - отступ от левого края бумаги, 10 мм - от верхнего
# устанавливаем цвет рамки (синий)
$pdf->SetDrawColor(0, 0, 200);
# устанавливаем цвет текста (зеленый)
$pdf->SetTextColor(0, 200, 0);
# устанавливаем имя шрифта и его размер (9 пунктов)
$pdf->SetFont('arial', '', 9);  
# выводим ячейку с надписью шириной 30 мм и высотой 6 мм. Строка отцентрирована относительно границ ячейки
$pdf->Cell(30, 6, 'Привет, я новый документ!', 1, 1, 'C');
# выводим документ в браузер, заставляя его включить плагин для отображения PDF (если имеется)
$pdf->Output('doc.pdf', 'I'); 
#php

Copyright © 2019