跳轉到

Core 核心套件

NextPDF Core

nextpdf/core 是 NextPDF 生態系的基石,實作完整的 PDF 2.0(ISO 32000-2:2020)生成管線。從字型子集化、雙向文字排版到 AES-256 加密與 PAdES B-B 數位簽章,Core 提供所有上層套件(Pro、Enterprise、框架整合)所需的底層能力。

Core 以 PHP 8.5 撰寫,採用三層文件生命週期(Process → Factory → Document),所有可變狀態集中於 RenderingContext,確保執行緒安全與可測試性。

PHP Compatibility

This example uses PHP 8.5 syntax. If your environment runs PHP 8.1 or 7.4, use NextPDF Backport for a backward-compatible build.

模組總覽

Core 由 16 個功能模組組成:

模組 命名空間 職責
Accessibility NextPDF\Accessibility Tagged PDF、PDF/UA-2、StructureTree
Barcode NextPDF\Barcode 23 種 1D + 9 種 2D 條碼編碼器
Content NextPDF\Content 文字、HTML、斷字、JavaScript
Contracts NextPDF\Contracts 所有公開介面定義
Core NextPDF\Core Document、Process、DocumentFactory
Form NextPDF\Form AcroForm、ISO 32000-2 §12.7
Graphics NextPDF\Graphics 繪圖引擎、影像、色彩、變換
Html NextPDF\Html HTML/CSS 子集渲染器
Layout NextPDF\Layout 欄位、頁首頁尾、小冊子、區域
Navigation NextPDF\Navigation 書籤、連結、目錄、附件
Security NextPDF\Security 加密、數位簽章、時間戳記、權限
Support NextPDF\Support 工具類別、例外階層
Typography NextPDF\Typography 字型登錄、子集化、雙向排版、CJK
ValueObjects NextPDF\ValueObjects PageSize、Margin、Dimension、Position
Writer NextPDF\Writer 序列化、線性化、檢視器偏好設定
Accelerator NextPDF\Accelerator Spectrum FFI 橋接(可選)

進入點

Core 提供兩個主要進入點,對應不同的部署情境:

use NextPDF\Core\Document;
use NextPDF\Core\DocumentFactory;
use NextPDF\Core\Process;

// 情境 1:獨立 CLI / 長時間執行程式
// Process 管理跨文件的共享資源(FontRegistry、ImageRegistry)
$process = Process::create();
$factory = $process->factory();
$document = $factory->create(/* config */);

// 情境 2:無狀態 Workers(Cloudflare Workers、Gotenberg)
// DocumentFactory::create() 每次呼叫都是獨立實例
$document = Document::createStandalone(/* config */);

支援標準

標準 規格 狀態
PDF 2.0 ISO 32000-2:2020 完整實作
PDF/A-4 ISO 19005-4:2020 透過 Enterprise
PDF/UA-2 ISO 14289-2 Core 內建
PAdES B-B ETSI EN 319 142-1 Core 內建
PAdES B-LTA ETSI EN 319 142-1 透過 Pro
ZUGFeRD 2.3 EN 16931 透過 Enterprise
RFC 3161 時間戳記 Core 內建

安裝

composer require nextpdf/core

PHP 8.5+ 必要。Rust FFI 加速器(Spectrum)為可選元件,需另行安裝二進位檔。

參見