Skip to content

Обзор пакета Core

TCPDF-Next
Core · LGPL-3.0

Пакет Core (yeeefang/tcpdf-next) — это основа экосистемы TCPDF-Next. Он содержит всё необходимое для генерации документов PDF 2.0.

Обзор

МетрикаЗначение
Исходных PHP-файлов148
Модулей16
Тестов908+
Проверок28,881+
Уровень PHPStan10
Точка входаDocument::create()
ЛицензияLGPL-3.0-or-later

Точка входа

Все документы начинаются с Document::create():

php
use Yeeefang\TcpdfNext\Core\Document;

$pdf = Document::create()
    ->setTitle('My Document')
    ->addPage()
    ->setFont('Helvetica', '', 12)
    ->cell(0, 10, 'Hello World')
    ->save('output.pdf');

Класс Document является final и реализует PdfDocumentInterface. Его функциональность обеспечивается 12 компонуемыми trait-ами — подробности см. в Философия проектирования.

Карта модулей

МодульПространство имёнФайловДокументация
CoreCore\6Документ
ContractsContracts\7Справочник API
ValueObjectsValueObjects\5Объекты значений
SupportSupport\1Справочник API
ContentContent\6Вывод текста
TypographyTypography\14Типографика, Шрифты
GraphicsGraphics\19Цвета, Графика, Изображения
LayoutLayout\6Компоновка
HtmlHtml\8HTML-рендеринг
FormForm\5Формы
BarcodeBarcode\12Штрихкоды
NavigationNavigation\11Навигация
AccessibilityAccessibility\3Tagged PDF
SecuritySecurity\14Шифрование, Подписи
WriterWriter\8Вывод

Возможности

Текст и типографика

Unicode, BiDi (двунаправленный текст), CJK, формирование арабского текста, переносы. Подмножественное встраивание TTF/OTF/Type1/CFF шрифтов. 14 стандартных PDF-шрифтов встроены.

Графика

Фигуры (линия, прямоугольник, окружность, эллипс, многоугольник, звезда, стрелка, кривая), градиенты (линейный, радиальный, сетка Кунса, треугольная сетка Гуро), паттерны заливки, парсинг SVG/EPS, поддержка изображений (PNG, JPEG, WebP, AVIF).

HTML-рендеринг

Встроенный HTML-парсер с поддержкой div, p, h1-h6, table (colspan/rowspan), списков, инлайн-стилей. Для полной поддержки CSS3 (Flexbox, Grid, веб-шрифты) используйте пакет Artisan.

Штрихкоды

1D: Code 128, EAN-8/13, UPC-A/E, Code 39/93, GS1-128, IMB и другие. 2D: QR Code (ISO 18004), DataMatrix (ISO 16022), PDF417 (ISO 15438).

Безопасность

AES-256 шифрование (AESV3 Rev 6) с SASLprep. Цифровые подписи PAdES B-B с видимым/невидимым отображением. Клиент временных меток RFC 3161.

Формы

Поля AcroForm: текстовое поле, чекбокс, радиокнопка, список, выпадающий список, кнопка. Выравнивание форм.

Навигация

Закладки, внутренние/внешние ссылки, именованные назначения, аннотации, оглавление, вложенные файлы, JavaScript.

Вывод

Сохранение в файл, отображение в браузере, загрузка, строковый буфер. Потоковый вывод для больших документов. Линеаризация для прогрессивного веб-отображения. Детерминированный режим для воспроизводимых сборок.

Распространяется по лицензии LGPL-3.0-or-later.