Обзор пакета Core
Core · LGPL-3.0Пакет Core (yeeefang/tcpdf-next) — это основа экосистемы TCPDF-Next. Он содержит всё необходимое для генерации документов PDF 2.0.
Обзор
| Метрика | Значение |
|---|---|
| Исходных PHP-файлов | 148 |
| Модулей | 16 |
| Тестов | 908+ |
| Проверок | 28,881+ |
| Уровень PHPStan | 10 |
| Точка входа | Document::create() |
| Лицензия | LGPL-3.0-or-later |
Точка входа
Все документы начинаются с Document::create():
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-ами — подробности см. в Философия проектирования.
Карта модулей
| Модуль | Пространство имён | Файлов | Документация |
|---|---|---|---|
| Core | Core\ | 6 | Документ |
| Contracts | Contracts\ | 7 | Справочник API |
| ValueObjects | ValueObjects\ | 5 | Объекты значений |
| Support | Support\ | 1 | Справочник API |
| Content | Content\ | 6 | Вывод текста |
| Typography | Typography\ | 14 | Типографика, Шрифты |
| Graphics | Graphics\ | 19 | Цвета, Графика, Изображения |
| Layout | Layout\ | 6 | Компоновка |
| Html | Html\ | 8 | HTML-рендеринг |
| Form | Form\ | 5 | Формы |
| Barcode | Barcode\ | 12 | Штрихкоды |
| Navigation | Navigation\ | 11 | Навигация |
| Accessibility | Accessibility\ | 3 | Tagged PDF |
| Security | Security\ | 14 | Шифрование, Подписи |
| Writer | Writer\ | 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.
Вывод
Сохранение в файл, отображение в браузере, загрузка, строковый буфер. Потоковый вывод для больших документов. Линеаризация для прогрессивного веб-отображения. Детерминированный режим для воспроизводимых сборок.
