Генерация PDF на PHP с использованием TCPDF
В предыдущей статье я писал про то, как генерировать PDF-файл на PHP с использованием библиотеки PDFLib. Однако, данная библиотека в пакет Denwer не входит. Установить данную библиотеку под Windows и более-менее свежую версию PHP сложно. Так как компилировать через Visual Studio весьма сомнительное и неудобное решение. Вдобавок, в бесплатной версии PDFLib нет возможности редактировать PDF-файл. Поэтому в этой статье я расскажу, как генерировать PDF на PHP с использованием TCPDF.
Первым делом, необходимо скачать архив со всеми файлами TCPDF: http://sourceforge.net/projects/tcpdf/files/. Данный архив извлеките в корень своего сайта.
Теперь привожу код, в котором происходит генерация PDF на PHP с использованием TCPDF:
<?php
require_once 'tcpdf/tcpdf.php'; // Подключаем библиотеку
/* Создаём объект TCPDF.
- Книжная ориентация
- Единица измерения - миллиметры
- Формат А4
- Использование unicode
- Кодировка - UTF-8
*/
$pdf = new TCPDF('P', 'mm', 'A4', true, 'UTF-8');
/* Установка отступов
- 20 слева
- 30 справа
- 20 сверху
*/
$pdf->SetMargins(20, 30, 20);
$pdf->AddPage(); // Добавляем страницу
$pdf->SetXY(20, 50); // Установка текущей точки (в мм)
$pdf->SetDrawColor(100, 100, 0); // Установка цвета (RGB)
$pdf->SetTextColor(200, 0, 0); // Установка цвета текста (RGB)
/* Выводим надпись.
- Ширина 30 мм
- Высота 10 мм
- Текст "Hello, World"
*/
$pdf->Cell(30, 10, 'Hello, World!');
$pdf->Output('test.pdf'); // Выводим в браузер
?>
В результате выполнения скрипта у нас откроется PDF-файл, в котором будет надпись "Hello World".
Возможностей у TCPDF очень много. В данном коде я просто показал пример использования, а чтобы применять серьёзно данную библиотеку придётся изучить документацию: http://www.tcpdf.org/doc/.
-
- Михаил Русаков
Комментарии (8):
А можно ли сделать так, чтобы методом post в php скрипт, который вы приводите в статье передавались и сразу же отображались в обозначеном месте?
Ответить
Можно. $some = $_POST["some"]; Далее эту переменную можете размещать в PDF-файле.
Ответить
а если pdf документ уже создан отдельно и содержит напечатанную таблицу, можно ли туда в нее вписать?
Ответить
Читайте документацию по TCPDF.
Ответить
У Вас опечатка. В Комментариях к коду написано ширина 40мм, а в коде 30
Ответить
Спасибо, исправил!
Ответить
Созданные файлы не открываются FoxitReaderом. Выдаёт ошибку: Format Error: Not a PDF or corrupted. Все другие PDF файлы открываются нормально.
Ответить
Доброго времени суток! Михаил, подскажите, пожалуйста. Сделал генерацию pdf страницы с помощью tcpdf, на денвере все нормально генерируется, заливаю на хостинг, не хочет, браузер пишет: сервер перенаправляет запрос на этот адрес таким образом, что он никогда не завершится. Заранее благодарю!
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.