TCPDF-NextLa bibliothèque PHP moderne pour les PDF.
Reconstruite pour une nouvelle ère. PDF 2.0 · PAdES B-LTA · PDF/A-4 · PHP 8.5+ · Laravel 12
ISO 32000-2:2020 dès le premier jour. Cross-reference streams, AES-256 uniquement, metadata XMP. Zéro legacy.
Cycle de vie complet de signature numérique — B-B (Core) à B-LTA (Pro) avec LTV, OCSP, CRL et timestamps RFC 3161.
Conformité ISO 19005-4:2020 — metadata XMP, output intents ICC, incorporation de polices, validation espace colorimétrique.
AESV3 Révision 6 avec normalisation de password SASLprep (RFC 4013). Pas de legacy RC4 ni clés 40-bit.
ServiceProvider auto-découvert, Pdf Facade, génération async basée sur queue, Octane-safe, HTTP response helpers.
220+ fichiers source dans 7 packages. Core + Artisan + Pro + Laravel + Symfony + CodeIgniter + Adaptation.
Vous ne savez pas quels packages vous avez besoin ? Notre assistant interactif analyse votre environnement et recommande la combinaison idéale.
TCPDF-Next n'est pas une seule bibliothèque — c'est un écosystème modulaire de 7 packages conçus pour fonctionner ensemble.
| Package | Composer | Description |
|---|---|---|
| Core | yeeefang/tcpdf-next | Génération PDF 2.0, typographie, codes-barres, chiffrement, PAdES B-B |
| Artisan | yeeefang/tcpdf-next-artisan | Chrome CDP HTML-to-PDF — HTML/CSS3 au pixel près |
| Pro | yeeefang/tcpdf-next-pro | PAdES B-T~B-LTA, PDF/A-4, signature HSM, codes-barres spécialisés |
| Package | Composer | Description |
|---|---|---|
| Laravel | yeeefang/tcpdf-next-laravel | Laravel 12 — Facade, Queue, compatible Octane |
| Symfony | yeeefang/tcpdf-next-symfony | Symfony 7 — Bundle, PdfFactory, Messenger |
| CodeIgniter | yeeefang/tcpdf-next-codeigniter | CodeIgniter 4 — Services, Library, Queue |
| Package | Composer | Description |
|---|---|---|
| Adaptation | yeeefang/tcpdf-next-adaptation | Adaptateur rétrocompatible TCPDF 6.2.13 — migration plug-and-play |
5 lignes de code pour générer un PDF :
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');Avec Laravel :
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");| Feature | TCPDF original | TCPDF-Next | |
|---|---|---|---|
| Version PHP | 5.x – 8.x | 8.5+ uniquement | |
| Spécification PDF | 1.4 – 1.7 | 2.0 (ISO 32000-2:2020) | |
| Architecture | Classe unique ~30K lignes | 220+ fichiers, 15 modules, 12 traits composables | |
| Sécurité des types | Aucune | PHPStan Level 10, backed enums, readonly classes | |
| Signatures | PKCS#7 basique | PAdES B-B (Core) → B-LTA (Pro) | |
| Archivage | PDF/A-1b (partiel) | PDF/A-4 (ISO 19005-4:2020) | |
| Rendu HTML | Intégré (CSS limité) | Intégré + Chrome CDP (CSS3 complet) | |
| Tests | ~50 tests | 1,004 tests, 29,586 assertions | |
| Extensibilité | Sous-classe monolithe | Écosystème modulaire (7 packages) + API extension | |
| Framework | Aucun | Laravel 12, Symfony 7, CodeIgniter 4 |
| Norme | Couverture | Package |
|---|---|---|
| ISO 32000-2:2020 | PDF 2.0 — complet | 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 dans Core, doc-timestamp dans 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 (polychrome) | Pro |