TCPDF-NextA biblioteca PHP moderna para PDF.
Reconstruída para uma nova era. PDF 2.0 · PAdES B-LTA · PDF/A-4 · PHP 8.5+ · Laravel 12
ISO 32000-2:2020 desde o primeiro dia. Cross-reference streams, apenas AES-256, metadados XMP. Zero legado.
Ciclo de vida completo de assinatura digital — B-B (Core) até B-LTA (Pro) com LTV, OCSP, CRL e timestamps RFC 3161.
Conformidade ISO 19005-4:2020 — metadados XMP, output intents ICC, incorporação de fontes, validação de espaços de cor.
AESV3 Revisão 6 com normalização de senhas SASLprep (RFC 4013). Sem RC4 legado ou chaves de 40 bits.
ServiceProvider auto-descoberto, Pdf Facade, geração async baseada em filas, Octane-safe, helpers de resposta HTTP.
220+ arquivos fonte em 7 pacotes. Core + Artisan + Pro + Laravel + Symfony + CodeIgniter + Adaptation.
Não tem certeza de quais pacotes precisa? Nosso assistente interativo analisa seu ambiente e recomenda a combinação ideal.
TCPDF-Next não é uma única biblioteca — é um ecossistema modular de 7 pacotes projetados para funcionar juntos.
| Pacote | Composer | Descrição |
|---|---|---|
| Core | yeeefang/tcpdf-next | Geração de PDF 2.0, tipografia, códigos de barras, criptografia, PAdES B-B |
| Artisan | yeeefang/tcpdf-next-artisan | Chrome CDP HTML-para-PDF — HTML/CSS3 com fidelidade perfeita |
| Pro | yeeefang/tcpdf-next-pro | PAdES B-T~B-LTA, PDF/A-4, assinatura HSM, códigos de barras especiais |
| Pacote | Composer | Descrição |
|---|---|---|
| Laravel | yeeefang/tcpdf-next-laravel | Laravel 12 — Facade, Queue, compatível com Octane |
| Symfony | yeeefang/tcpdf-next-symfony | Symfony 7 — Bundle, PdfFactory, Messenger |
| CodeIgniter | yeeefang/tcpdf-next-codeigniter | CodeIgniter 4 — Services, Library, Queue |
| Pacote | Composer | Descrição |
|---|---|---|
| Adaptation | yeeefang/tcpdf-next-adaptation | Adaptador retrocompatível com TCPDF 6.2.13 — migração direta |
5 linhas de código para gerar um 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');Com 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 | |
|---|---|---|---|
| Versão PHP | 5.x – 8.x | Apenas 8.5+ | |
| Especificação PDF | 1.4 – 1.7 | 2.0 (ISO 32000-2:2020) | |
| Arquitetura | Classe única com ~30 mil linhas | 220+ arquivos, 15 módulos, 12 traits combináveis | |
| Segurança de tipos | Nenhuma | PHPStan Level 10, backed enums, classes readonly | |
| Assinaturas | PKCS#7 básico | PAdES B-B (Core) → B-LTA (Pro) | |
| Arquivamento | PDF/A-1b (parcial) | PDF/A-4 (ISO 19005-4:2020) | |
| Renderização HTML | Embutida (CSS limitado) | Embutida + Chrome CDP (CSS3 completo) | |
| Testes | ~50 testes | 1.004 testes, 29.586 asserções | |
| Extensibilidade | Herança de monolito | Ecossistema modular (7 pacotes) + API de extensão | |
| Framework | Nenhum | Laravel 12, Symfony 7, CodeIgniter 4 |
| Padrão | Cobertura | Pacote |
|---|---|---|
| ISO 32000-2:2020 | PDF 2.0 — completo | 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 (cliente no Core, doc-timestamp no 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 (policromático) | Pro |