Skip to content

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描邊/填充/文字色彩、透明度
HasTextOutputcell、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,
    ]);

以 LGPL-3.0-or-later 授權釋出。