Skip to content

TCPDF-NextСовременная PHP PDF библиотека.

Переосмыслена для новой эры. PDF 2.0 · PAdES B-LTA · PDF/A-4 · PHP 8.5+ · Laravel 12

TCPDF-Next
ФункциональныеИнтеграция с фреймворкамиСовместимостьArtisanChrome CDPProКорпоративныйLaravelLaravel 12SymfonySymfony 7CodeIgniterCodeIgniter 4AdaptationМиграция TCPDFTCPDF-NextCoreДвижок PDF 2.0
Core
TCPDF-Next Core
Движок PDF 2.0
Функциональные
ArtisanArtisanChrome CDP
ProProКорпоративный
Интеграция с фреймворками
LaravelLaravelLaravel 12
SymfonySymfonySymfony 7
CodeIgniterCodeIgniterCodeIgniter 4
Совместимость
AdaptationAdaptationМиграция TCPDF
220+
Файлов
1,004
Тестов
29,586
Проверок
Level 10
PHPStan

Найдите идеальную конфигурацию

Не уверены, какие пакеты вам нужны? Наш интерактивный мастер проанализирует ваше окружение и порекомендует идеальную комбинацию.

1
Тип проекта
2
Версия PHP
3
Фреймворк
4
HTML→PDF
5
Функции Pro

Тип проекта

Экосистема

TCPDF-Next — это не отдельная библиотека, а модульная экосистема из 7 пакетов, спроектированных для совместной работы.

Функциональные

ПакетComposerОписание
Coreyeeefang/tcpdf-nextГенерация PDF 2.0, типографика, штрихкоды, шифрование, PAdES B-B
Artisanyeeefang/tcpdf-next-artisanChrome CDP HTML-в-PDF — пиксельная точность HTML/CSS3
Proyeeefang/tcpdf-next-proPAdES B-T~B-LTA, PDF/A-4, HSM-подписание, специальные штрихкоды

Интеграция с фреймворками

ПакетComposerОписание
Laravelyeeefang/tcpdf-next-laravelLaravel 12 — Facade, Queue, Octane-совместимый
Symfonyyeeefang/tcpdf-next-symfonySymfony 7 — Bundle, PdfFactory, Messenger
CodeIgniteryeeefang/tcpdf-next-codeigniterCodeIgniter 4 — Services, Library, Queue

Совместимость

ПакетComposerОписание
Adaptationyeeefang/tcpdf-next-adaptationОбратно совместимый адаптер TCPDF 6.2.13 — миграция без изменения кода

Быстрый обзор

5 строк кода для генерации PDF:

php
use Yeeefang\TcpdfNext\Core\Document;

$pdf = Document::createStandalone()
    ->setTitle('My First PDF')
    ->addPage()
    ->setFont('Helvetica', '', 14)
    ->cell(0, 10, 'Hello, PDF 2.0!')
    ->save('hello.pdf');

С Laravel:

php
use Yeeefang\TcpdfNext\Laravel\Facades\Pdf;
use Yeeefang\TcpdfNext\Laravel\Http\PdfResponse;

$pdf = Pdf::createStandalone()
    ->setTitle("Invoice #{$invoice->number}")
    ->addPage()
    ->setFont('Helvetica', '', 12)
    ->cell(0, 10, "Invoice #{$invoice->number}");

return PdfResponse::inline($pdf, "invoice-{$invoice->number}.pdf");

TCPDF vs TCPDF-Next

FeatureОригинальный TCPDFTCPDF-Next
Версия PHP5.x – 8.x8.5+ only
Спецификация PDF1.4 – 1.72.0 (ISO 32000-2:2020)
АрхитектураОдин класс ~30K строк220+ файлов, 15 модулей, 12 компонуемых trait-ов
ТипобезопасностьОтсутствуетPHPStan Level 10, backed enum-ы, readonly-классы
ПодписиБазовый PKCS#7PAdES B-B (Core) → B-LTA (Pro)
АрхивированиеPDF/A-1b (частично)PDF/A-4 (ISO 19005-4:2020)
HTML-рендерингВстроенный (ограниченный CSS)Встроенный + Chrome CDP (полный CSS3)
Тестирование~50 тестов1,004 теста, 29,586 проверок
РасширяемостьНаследование монолитаМодульная экосистема (7 пакетов) + API расширений
ФреймворкиОтсутствуетLaravel 12, Symfony 7, CodeIgniter 4

Соответствие стандартам

ISO 32000-2:2020 — PDF 2.0 ISO 19005-4:2020 — PDF/A-4 ETSI EN 319 142-1 — PAdES RFC 3161 — TSA Timestamps RFC 5652 — CMS (PKCS#7) RFC 6960 — OCSP RFC 4013 — SASLprep
СтандартПокрытиеПакет
ISO 32000-2:2020PDF 2.0 — полноеCore
ISO 19005-4:2020PDF/A-4, 4e, 4fPro
ETSI EN 319 142-1PAdES B-BCore
ETSI EN 319 142-1PAdES B-T ~ B-LTAPro
RFC 3161TSP (клиент в Core, метка времени документа в Pro)Core + Pro
RFC 5652CMS (PKCS#7)Core
RFC 6960OCSPPro
RFC 5280X.509 / CRLPro
RFC 4013SASLprepCore
ISO 18004QR Code (v1-40, ECI, Kanji)Core
ISO 16022DataMatrix (+ DMRE)Core
ISO 15438PDF417Core
ISO 18004 AnnexMicro QR (M1-M4)Pro
ISO 24723DotCodePro
ISO 20830HanXinPro
ISO 23634JAB Code (полихроматический)Pro

Сообщество и поддержка

  • GitHub Issues — Отчёты об ошибках и запросы на функции
  • Security Advisories — Ответственное раскрытие уязвимостей
  • Contributing Guide — Мы приветствуем вклад сообщества

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