TCPDF-Next现代 PHP PDF 库。
为新时代而生。PDF 2.0 · PAdES B-LTA · PDF/A-4 · PHP 8.5+ · Laravel 12
从第一天起采用 ISO 32000-2:2020。交叉引用流、仅 AES-256、XMP 元数据。零历史包袱。
完整数字签名生命周期 — B-B(Core)至 B-LTA(Pro),含 LTV、OCSP、CRL 和 RFC 3161 时间戳。
ISO 19005-4:2020 合规 — XMP 元数据、ICC 输出意图、字体嵌入、色彩空间验证。
AESV3 修订版 6,支持 SASLprep 密码规范化(RFC 4013)。不支持旧版 RC4 或 40 位密钥。
自动发现 ServiceProvider、Pdf Facade、队列异步生成、Octane 安全、HTTP 响应辅助。
7 个包共 220+ 源文件。Core + Artisan + Pro + Laravel + Symfony + CodeIgniter + Adaptation。
不确定需要哪些包?交互式向导会分析您的环境并推荐最佳组合。
TCPDF-Next 不只是一个库 — 它是由 7 个包组成的模块化生态圈。
| 包 | Composer | 说明 |
|---|---|---|
| Core | yeeefang/tcpdf-next | PDF 2.0 生成、字体排版、条码、加密、PAdES B-B |
| Artisan | yeeefang/tcpdf-next-artisan | Chrome CDP HTML 转 PDF — 完整 CSS3、Flexbox、Grid、可选取文字 |
| Pro | yeeefang/tcpdf-next-pro | PAdES B-T~B-LTA、PDF/A-4、HSM 签署、特殊条码 |
| 包 | Composer | 说明 |
|---|---|---|
| Laravel | yeeefang/tcpdf-next-laravel | Laravel 12 — Facade、Queue、Octane 安全 |
| Symfony | yeeefang/tcpdf-next-symfony | Symfony 7 — Bundle、PdfFactory、Messenger |
| CodeIgniter | yeeefang/tcpdf-next-codeigniter | CodeIgniter 4 — Services、Library、Queue |
| 包 | Composer | 说明 |
|---|---|---|
| Adaptation | yeeefang/tcpdf-next-adaptation | TCPDF 6.2.13 向后兼容适配器 — 即插即用迁移 |
5 行代码生成 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');搭配 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 | TCPDF-Next | |
|---|---|---|---|
| PHP 版本 | 5.x – 8.x | 仅限 8.5+ | |
| PDF 规格 | 1.4 – 1.7 | 2.0 (ISO 32000-2:2020) | |
| 架构 | 单一 ~30K 行类 | 220+ 文件、15 模块、12 个可组合 Trait | |
| 类型安全 | 无 | PHPStan Level 10、Backed Enum、Readonly 类 | |
| 数字签名 | 基本 PKCS#7 | PAdES 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 — 完整 | 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 (Core 为客户端、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(多色) | Pro |