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,
]);