Когда возникает ситуация что на сайте необходимо генерировать отчеты или счета мы задумываемся в каком формате выводить файл что бы отправить клиенту или распечатать. 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');