TCPDF
Библиотека PHP для создания и редактирования PDF-документов
PHP API с открытым исходным кодом для создания PDF-документов, субаренды шрифтов, изображений JPEG или PNG и SVG. Встроенная поддержка, поддержка 1D и 2D штрих-кодов.
TCPDF — это библиотека PHP с открытым исходным кодом, которая дает разработчикам программного обеспечения возможность создавать PDF-документы с помощью команд PHP без каких-либо внешних зависимостей. Самое замечательное в TCPDF то, что он считается единственной библиотекой на основе PHP, которая включает полную поддержку Unicode UTF-8 и языков с письмом справа налево.
Библиотека поддерживает несколько важных функций, таких как создание PDF-документов, субаренда шрифтов, поддержка изображений и графики, встроенная поддержка изображений JPEG, PNG и SVG, поддержка 1D и 2D штрих-кодов, управление верхним и нижним колонтитулом страницы PDF, поддержка шифрования и дешифрования, поддержка PDF. аннотации, оглавление, режимы рендеринга текста, настраиваемые форматы страниц, настраиваемые поля, единицы страницы и многое другое.
Библиотека считается одной из самых популярных и наиболее часто используемых библиотек PHP в мире, потому что она была включена в самые популярные CMS и приложения на основе PHP, включая Joomla, Drupal, Moodle, phpMyAdmin и так далее.
Начало работы с TCPDF
TCPDF доступен на сайте packagist.org, поэтому вы можете использовать композитор для загрузки этой библиотеки и всех зависимостей. Пожалуйста, используйте следующую команду для плавной установки.
Установить команду TCPDF
Install Package TCPDF
Создание PDF-документов с использованием библиотеки PHP
Бесплатная библиотека PHP TCPDF включает функции, которые позволяют программистам программно создавать PDF-документы в своих собственных приложениях PHP. Вы можете использовать кодировку utf-8, а также поддержку языков с письмом справа налево. Несколько важных функций, таких как выбор типа и размера шрифта, настраиваемые поля, единицы измерения, добавление штрих-кода, добавление таблицы, вставка страниц, перемещение страницы, удаление страниц и многое другое.
Создание PDF-документов через PHP
// Include the main TCPDF library (search for installation path).
require_once('tcpdf_include.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->setCreator(PDF_CREATOR);
$pdf->setAuthor('Nicola Asuni');
$pdf->setTitle('TCPDF Example 038');
$pdf->setSubject('TCPDF Tutorial');
$pdf->setKeywords('TCPDF, PDF, example, test, guide');
Поддержка штрих-кода в файлах PDF через PHP
Библиотека PHP с открытым исходным кодом предоставляет функциональные возможности для включения штрих-кода в документы PDF с помощью нескольких строк кода PHP. Разработчики могут легко использовать различные типы одномерных штрих-кодов (CODE 39, CODE 128 AUTO, EAN 8, UPC-E, MSI, CODABAR, CODE 11, RMS4CC) и двумерных штрих-кодов (QR-код, Datamatrix ECC200 и PDF417). Он также поддерживает такие функции, как установка высоты штрих-кода, выравнивание штрих-кода, установка полей, применение контрольной суммы и т. д.
Создание PDF-документов через PHP
$pdf->SetFont('helvetica', '', 10);
// define barcode style
$style = array(
'position' => '',
'align' => 'C',
'stretch' => false,
'fitwidth' => true,
'cellfitalign' => '',
'border' => true,
'hpadding' => 'auto',
'vpadding' => 'auto',
'fgcolor' => array(0,0,0),
'bgcolor' => false, //array(255,255,255),
'text' => true,
'font' => 'helvetica',
'fontsize' => 8,
'stretchtext' => 4
);
// PRINT VARIOUS 1D BARCODES
// CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.
$pdf->Cell(0, 0, 'CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9', 0, 1);
$pdf->write1DBarcode('CODE 39', 'C39', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
// CODE 39 + CHECKSUM
$pdf->Cell(0, 0, 'CODE 39 + CHECKSUM', 0, 1);
$pdf->write1DBarcode('CODE 39 +', 'C39+', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
// CODE 39 EXTENDED
$pdf->Cell(0, 0, 'CODE 39 EXTENDED', 0, 1);
$pdf->write1DBarcode('CODE 39 E', 'C39E', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
Добавить пользовательские верхние/нижние колонтитулы в PDF
Верхние и нижние колонтитулы являются очень полезными частями PDF-документа, которые помогают пользователям упорядочивать свои PDF-файлы, а также их легче читать. Библиотека TCPDF с открытым исходным кодом упрощает работу разработчика, включая функцию добавления настраиваемых верхних и нижних колонтитулов в документы PDF с помощью всего пары строк кода PP. Он поддерживает такие функции, как установка шрифтов для верхних и нижних колонтитулов, установка полей, автоматические разрывы страниц, добавление изображений внутри верхнего/нижнего колонтитула, добавление номеров страниц и так далее.
Установите пользовательские верхние/нижние колонтитулы в PDF через PHP
// Extend the TCPDF class to create custom Header and Footer
class MYPDF extends TCPDF {
//Page header
public function Header() {
// Logo
$image_file = K_PATH_IMAGES.'logo_example.jpg';
$this->Image($image_file, 10, 10, 15, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
// Set font
$this->SetFont('helvetica', 'B', 20);
// Title
$this->Cell(0, 15, '<< TCPDF Example 003 >>', 0, false, 'C', 0, '', 0, false, 'M', 'M');
}
// Page footer
public function Footer() {
// Position at 15 mm from bottom
$this->SetY(-15);
// Set font
$this->SetFont('helvetica', 'I', 8);
// Page number
$this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
}
}
Создайте оглавление
Библиотека PHP с открытым исходным кодом TCPDF предоставляет функциональные возможности для создания оглавления внутри своих приложений. Использование оглавления помогает читателям понять структуру документов и быстро найти нужную им информацию. Чтобы создать оглавление, вам нужно добавить новую страницу для оглавления и написать название оглавления и/или другие элементы на странице оглавления. Вы также можете легко определить стили для различных уровней закладок для различных элементов HTML.
Как добавить оглавление в PDF через PHP
// add a new page for TOC
$pdf->addTOCPage();
// write the TOC title
$pdf->SetFont('times', 'B', 16);
$pdf->MultiCell(0, 0, 'Table Of Content', 0, 'C', 0, 1, '', '', true, 0);
$pdf->Ln();
$pdf->SetFont('dejavusans', '', 12);
// add a simple Table Of Content at first page
// (check the example n. 59 for the HTML version)
$pdf->addTOC(1, 'courier', '.', 'INDEX', 'B', array(128,0,0));
// end of TOC page
$pdf->endTOCPage();
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example.pdf', 'I');
Управление аннотациями PDF через библиотеку PHP
Аннотации — это полный набор объектов, которые можно добавлять на страницы PDF без изменения содержимого страницы. Это также помогает в объяснении его содержания или расширении того, что уже присутствует. Библиотека PHP с открытым исходным кодом TCPDF поддерживает создание различных аннотаций, таких как текстовые аннотации, аннотации ссылок, маркировка текста, аннотации штампов и т. д.
Добавить текстовые аннотации PDF через PHP
// set font
$pdf->SetFont('times', '', 16);
// add a page
$pdf->AddPage();
$txt = 'Example of Text Annotation.
Move your mouse over the yellow box or double click on it to display the annotation text.';
$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0);
// text annotation
$pdf->Annotation(83, 27, 10, 10, "Text annotation example\naccented letters test: àèéìòù", array('Subtype'=>'Text', 'Name' => 'Comment', 'T' => 'title example', 'Subj' => 'example', 'C' => array(255, 255, 0)));
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example.pdf', 'I');