Создание PDF с помощью PHP и библиотеки TCPDF

Создание PDF с помощью PHP и библиотеки TCPDF

26 февраля 2020 PHP

TCPDF открытая PHP библиотека для генерации PDF документов на лету, которая включает полную поддержку Unicode UTF-8. Библиотека очень проста в использовании и имеет множество настроек, а так же входит в состав многих популярных CMS и фреймворков.

Установка библиотеки TCPDF

Скачиваем последнюю версию библиотеки отсюда и распаковываем архив.

Я создал отдельную папку tcpdf и распаковал все файлы в неё.

Подключаем из папки файл tcpdf.php к нашему проекту. У меня получилось так:

require_once('tcpdf/tcpdf.php');

Теперь когда библиотека установлена и подключена можно пользоваться всеми её возможностями.

Оптимизация HTML-кода сайта одна из мер по комплексному SEO-продвижению сайта. Если с самого начала делать сайт по общепринятым рекомендациям и стандартам, то потом ничего не придется переделывать, а сайт будет хорошо находиться различными поисковыми системами, такими как Яндекс и Google. Читайте все о seo продвижении чтобы правильно продвигать сайт в поисковых системах с самого начала его создания.

Использование библиотеки TCPDF

Рассмотрим простой пример генерации PDF документа с HTML текстом.

<?php
// Подключаем библиотеку
require_once('tcpdf/tcpdf.php');

// Создаем новый PDF документ
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8', false);

// Устанавливаем информацию о документе
$pdf->SetAuthor('Имя автора');
$pdf->SetTitle('Название документа');

// Устанавливаем данные заголовка по умолчанию
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE, PDF_HEADER_STRING);

// Устанавливаем верхний и нижний колонтитулы
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));

// Устанавливаем моноширинный шрифт по умолчанию
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// Устанавливаем отступы
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// Устанавливаем автоматические разрывы страниц
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

// Устанавливаем шрифт
$pdf->SetFont('dejavusans', '', 14, '', true);

// Добавляем страницу
$pdf->AddPage();

// Устанавливаем текст
$html = <<<EOD
<h1>Добро пожаловать в <span style="background-color:#CC0000;color:black;">TC</span><span style="background-color:#CC0000;color:white;">PDF</span>!</h1>
<i>Это пример работы библиотеки TCPDF.</i>
<p>Этот текст печатается с использованием метода <i>writeHTMLCell()</i>, но вы также можете использовать: <i>Multicell(), writeHTML(), Write(), Cell() и Text()</i>.</p>
<p>Пожалуйста, ознакомьтесь с документацией по исходному коду и другими примерами для получения дополнительной информации.</p>
EOD;

// Выводим текст с помощью writeHTMLCell()
$pdf->writeHTMLCell(0, 0, '', '', $html, 0, 1, 0, true, '', true);

// Закрываем и выводим PDF документ
$pdf->Output('document.pdf', 'I');
?>

HTML текст выводится с помощью метода writeHTMLCell(). Можно так же использовать и другие методы, такие как, например:
Multicell()— множественные ячейки
writeHTML()— HTML код
Cell() — ячейка
Text() — текст

Если вам понравилась статья, вы можете отблагодарить автора любой суммой, какую сочтете для себя приемлемой:
Остались вопросы по статье? Задайте их прямо сейчас!
Телеграм бот на PHP отправляющий сообщения с сайта

Что если сообщения с сайта будут приходить не только на ваш e-mail, но и моментально в мессенджер телеграм. Удобно же! Нужно было реализовать такой функционал, ну как и всегда все оказалось довольно просто. Так же стояла задача отправлять сообщения не Читать далее

Отправка формы без перезагрузки страницы на PHP и Ajax

Постоянно приходится пользоваться этой заготовкой. Вы можете модернизировать ее под любые нужды, будь то форма обратной связи, форма обратного звонка или заказ какой-либо услуги или товара. Поэтому я не буду украшать ее стилями, применять классы Bootstrap и различные скрипты, как Читать далее

Вывести на PHP месяц и день недели на русском

Довольно часто приходится сталкиваться с выводом названий месяцев и дней недели по-русски. При чем в различных вариантах, к примеру с полным названием или сокращенным, с большой буквы или с маленькой. Можно воспользоваться одним из этих 2 вариантов для вывода даты Читать далее

Парсер яндекс погоды на PHP

Рабочий пример PHP парсера, который получает погоду с Яндекса по ID города. Скрипт сохраняет данные в файле кеша на сайте, и обновляет его раз в час. Так же расскажу как выводить на сайте собственные иконки погоды вместо стандартных от Яндекса. Читать далее

Как встроить видео с YouTube канала на сайт

Для вывода списка видеозаписей из канала или плейлиста YouTube на сайте можно воспользоваться этим полностью рабочим решением на PHP. С помощью этой функции можно получить все необходимые данные видеозаписей: название, изображение и идентификатор видео. Вам понадобится идентификатор канала или плейлиста. Читать далее

Курсы доллара и евро с сайта Центробанка на PHP

Парсер получает курсы доллара и евро с сайта Центробанка каждые 24 часа и записывает их в файл кеша /log/course.txt Скрипт полностью готов к работе и не требует каких-либо дополнительных настроек. <? function loadCourse(){ define("tsCourse","15:00:00"); # Время смены курса центральным банком Читать далее

Календарь на PHP и Ajax

Пример календаря на PHP и Ajax с переключением месяцев. Можно использовать как заготовку для решения любых задач. Я использовал его для создания плагина календаря мероприятий на WordPress. Скрипт использует процедурный подход, но имеет разделенную структуру с шаблоном , что довольно Читать далее

Добавить комментарий