Document 类
Document 是 TCPDF-Next 的核心入口点。它是一个 final 类,通过 12 个可组合 trait 提供完整的 PDF 生成能力。
创建文档
php
use Yeeefang\TcpdfNext\Core\Document;
$pdf = Document::create();Document 使用私有构造函数 — 必须通过 create() 工厂方法创建。
元数据
php
$pdf->setTitle('文档标题')
->setAuthor('作者名称')
->setSubject('主题')
->setKeywords('PDF, 文档, 关键字')
->setCreator('TCPDF-Next');12 个 Trait
| Trait | 功能 |
|---|---|
| HasMetadata | 标题、作者、关键字、创建者 |
| HasPages | 新增/删除/移动页面、边距、页面分组 |
| HasTypography | 字体、大小、间距、渲染模式 |
| HasColors | 描边/填充/文字颜色、透明度 |
| HasTextOutput | cell、multiCell、text、write、writeHtml |
| HasDrawing | 线条、矩形、圆形、多边形、箭头 |
| HasTransforms | 旋转、缩放、平移、镜像 |
| HasLayout | 页眉/页脚、多栏、小册子模式 |
| HasNavigation | 书签、目录、链接、附件 |
| HasInteractive | 表单字段、JavaScript |
| HasSecurity | 加密、数字签名 |
| HasOutput | 保存、浏览器输出、字符串输出 |
子引擎架构
Document 使用延迟初始化(lazy initialization)— 子引擎只在首次访问时创建:
Document
├── GraphicsEngine (绘图、颜色、变换)
├── TypographyEngine (字体、排版)
├── ContentEngine (文字渲染)
├── LayoutEngine (页面、页眉/页脚)
├── HtmlEngine (HTML/CSS 解析)
├── FormEngine (表单字段)
├── NavigationEngine (书签、链接)
├── BarcodeEngine (条码)
├── SecurityEngine (加密、签章)
├── ArchiveEngine (PDF/A)
└── AccessibilityEngine (标记式 PDF)这代表生成简单 PDF 时不会载入条码或表单模块,有效节省内存。
查看器偏好设置
php
$pdf->setDisplayMode('fullpage', 'TwoColumnLeft')
->setViewerPreferences([
'HideToolbar' => true,
'HideMenubar' => true,
'FitWindow' => true,
]);