PDF 2.0 Native
ISO 32000-2:2020 from day one. Cross-reference streams, AES-256 only, XMP metadata. Zero legacy baggage.
Rebuilt for a new era. PDF 2.0 · PAdES B-LTA · PDF/A-4 · PHP 8.5+ · Laravel 12
TCPDF-Next is not a single library — it's a modular ecosystem of 4 packages designed to work together.
| Package | Composer | Description |
|---|---|---|
| Core | yeeefang/tcpdf-next | PDF 2.0 generation, typography, barcodes, encryption, PAdES B-B |
| Artisan | yeeefang/tcpdf-nextartisan | Chrome CDP HTML-to-PDF — full CSS3, Flexbox, Grid, text-selectable output |
| Laravel | yeeefang/tcpdf-nextlaravel | ServiceProvider, Facade, PdfResponse, queue jobs, Octane-safe |
| Pro | yeeefang/tcpdf-nextpro | PAdES B-T~B-LTA, PDF/A-4, HSM signing, specialty barcodes |
5 lines of code to generate a PDF:
use Yeeefang\TcpdfNext\Core\Document;
$pdf = Document::create()
->setTitle('My First PDF')
->addPage()
->setFont('Helvetica', '', 14)
->cell(0, 10, 'Hello, PDF 2.0!')
->save('hello.pdf');With Laravel:
use Yeeefang\TcpdfNext\Laravel\Facades\Pdf;
use Yeeefang\TcpdfNext\Laravel\Http\PdfResponse;
$pdf = Pdf::create()
->setTitle("Invoice #{$invoice->number}")
->addPage()
->setFont('Helvetica', '', 12)
->cell(0, 10, "Invoice #{$invoice->number}");
return PdfResponse::inline($pdf, "invoice-{$invoice->number}.pdf");| Feature | Original TCPDF | TCPDF-Next | |
|---|---|---|---|
| PHP version | 5.x – 8.x | 8.5+ only | |
| PDF spec | 1.4 – 1.7 | 2.0 (ISO 32000-2:2020) | |
| Architecture | Single ~30K-line class | 213 files, 26 modules, 12 composable traits | |
| Type safety | None | PHPStan level 8, backed enums, readonly classes | |
| Signatures | Basic PKCS#7 | PAdES B-B (Core) → B-LTA (Pro) | |
| Archival | PDF/A-1b (partial) | PDF/A-4 (ISO 19005-4:2020) | |
| HTML rendering | Built-in (limited CSS) | Built-in + Chrome CDP (full CSS3) | |
| Testing | ~50 tests | 908+ tests, 28,881+ assertions | |
| Extensibility | Subclass monolith | Modular ecosystem + extension API | |
| Laravel | None | Full (Facade, Queue, Octane) |
| Standard | Coverage | Package |
|---|---|---|
| ISO 32000-2:2020 | PDF 2.0 — full | Core |
| ISO 19005-4:2020 | PDF/A-4, 4e, 4f | Pro |
| ETSI EN 319 142-1 | PAdES B-B | Core |
| ETSI EN 319 142-1 | PAdES B-T ~ B-LTA | Pro |
| RFC 3161 | TSP (client in Core, doc-timestamp in Pro) | Core + Pro |
| RFC 5652 | CMS (PKCS#7) | Core |
| RFC 6960 | OCSP | Pro |
| RFC 5280 | X.509 / CRL | Pro |
| RFC 4013 | SASLprep | Core |
| ISO 18004 | QR Code (v1-40, ECI, Kanji) | Core |
| ISO 16022 | DataMatrix (+ DMRE) | Core |
| ISO 15438 | PDF417 | Core |
| ISO 18004 Annex | Micro QR (M1-M4) | Pro |
| ISO 24723 | DotCode | Pro |
| ISO 20830 | HanXin | Pro |
| ISO 23634 | JAB Code (polychromatic) | Pro |