PHP 食譜
這是 PHP 原生 NextPDF 食譜的索引——這些頁面以任務為中心且可執行,直接針對核心 PHP API 撰寫。nextpdf 核心儲存庫擁有並驗證 docs/public/cookbook/php/ 之下的每一道食譜。每一道食譜都由一支 examples/*.php 指令稿與一個 tests/Cookbook/Php/ 測試框架背書。接著,匯整器會將每個頁面拉進本網站,並一併帶入其來源出處。
由於本頁是一份索引,它不對任何食譜做行為宣稱。每一列都記錄該食譜的意圖、它所操作的核心模組,以及它宣告的可重現性設定檔。設定檔與任何符合性宣稱都存在於食譜頁面本身,來源是該頁面的前置資料與其儲存庫內測試——而非本頁。關於整合(框架/轉譯器/服務)食譜,請參閱 整合食譜。關於每一道可執行食譜都遵循的契約,請參閱 食譜慣例。
食譜 slug 如何組織
標題為「食譜 slug 如何組織」的區段每一道食譜都在核心儲存庫 docs/public/cookbook/php/ 之下撰寫,並由匯整器發佈到本網站。其 slug 遵循單一慣例:單一區段。
/cookbook/php/<recipe>/<recipe> 以 kebab-case 命名食譜的意圖(例如 render-html-to-pdf,而非模組名稱 html)。它是小寫、以連字號分隔、不含版本號,並以單一結尾斜線收尾。
可重現性設定檔:一行說明
標題為「可重現性設定檔:一行說明」的區段每一道食譜都宣告它能如實滿足的最嚴格設定檔:
- bitwise——跨多次執行皆為位元組相同(純粹決定性的內容,所有熵都已固定)。
- structural——在正規化易變原子(trailer 的
/ID、creation/modification 日期、字型子集前綴——實務上每一份多物件 PDF 都會如此)之後皆相同。 - semantic——僅要求結構性 AST 與中繼資料等價(已簽署或已加蓋時戳的輸出,或等價性本質上無法達到位元組穩定的輸出)。
設定檔是食譜頁面透過其測試框架證明的一項屬性。本索引僅回報該頁面宣告的值。
建構文件、分頁並設定樣式。
| 食譜 | 它的作用 | 模組 | 設定檔 |
|---|---|---|---|
render-html-to-pdf | 將 HTML 文件轉譯為 PDF | Html | structural |
style-with-css | 對 HTML 轉譯套用 CSS | Html | structural |
html-table-layout | 佈局 HTML 表格 | Html | structural |
paginate-long-html | 為長篇 HTML 文件分頁 | Html | structural |
paginate-large-html-tables | 跨頁分頁大型 HTML 表格 | Html | structural |
render-rtl-arabic-html | 轉譯由右至左的阿拉伯文 HTML | Html | structural |
compose-text-and-fonts | 以排版控制組合文字 | 排版 | structural |
embed-and-subset-fonts | 嵌入並子集化字型 | 字型 | structural |
cjk-vertical-writing | 以直書模式排版 CJK 文字 | 排版 | structural |
multi-page-document | 建構多頁文件 | 文件 | structural |
headers-and-footers | 加入連續的頁首與頁尾 | 佈局 | structural |
圖形與內容
標題為「圖形與內容」的區段向量、影像、圖層與座標空間。
| 食譜 | 它的作用 | 模組 | 設定檔 |
|---|---|---|---|
draw-vector-graphics | 繪製向量圖形 | 圖形 | structural |
gradients-and-transparency | 套用漸層與透明度 | 圖形 | structural |
embed-images | 嵌入點陣影像 | 內容 | structural |
add-watermarks-and-backgrounds | 為頁面加入文字與影像浮水印或背景 | 內容 | structural |
cmyk-spot-color-and-icc-profiles | 產生適合印刷的 CMYK 與特別色 | 色彩 | structural |
embed-file-attachments | 嵌入檔案並建立 PDF 組合 | 內容 | structural |
optional-content-layers | 使用選用內容(圖層) | 圖形 | structural |
transform-coordinate-space | 變換座標空間 | 圖形 | structural |
導覽與表單
標題為「導覽與表單」的區段書籤、連結、註解與 AcroForm 欄位。
| 食譜 | 它的作用 | 模組 | 設定檔 |
|---|---|---|---|
bookmarks-and-toc | 建構書籤與目錄 | 導覽 | structural |
generate-dynamic-table-of-contents | 產生動態目錄 | 導覽 | structural |
links-and-annotations | 加入連結與註解 | 導覽 | structural |
generate-barcodes | 產生條碼 | 條碼 | bitwise |
gs1-composite-barcodes | 產生 GS1 複合式條碼(CC-C 載體) | 條碼 | structural |
fill-pdf-form | 填寫 AcroForm | 表單 | structural |
flatten-form-fields | 平面化表單欄位 | 表單 | structural |
form-field-validation-and-flatten-with-state | 驗證表單欄位並連同狀態平面化 | 表單 | structural |
文件資訊
標題為「文件資訊」的區段設定中繼資料與檢視器行為。
| 食譜 | 它的作用 | 模組 | 設定檔 |
|---|---|---|---|
set-document-metadata | 設定文件中繼資料 | 中繼資料 | structural |
set-viewer-preferences | 設定檢視器偏好 | 文件 | structural |
文件操作
標題為「文件操作」的區段組裝、分割並最佳化既有文件。
| 食譜 | 它的作用 | 模組 | 設定檔 |
|---|---|---|---|
merge-external-pdfs | 合併外部 PDF 或附加頁面 | 文件 | structural |
split-and-extract-pages | 分割 PDF 並擷取頁面範圍 | 文件 | structural |
optimize-pdf-file-size | 以壓縮與子集化縮減 PDF 檔案大小 | 文件 | structural |
安全性、簽章與符合性
標題為「安全性、簽章與符合性」的區段加密、簽署、無障礙與設定檔輸出。這些食譜會在各自的食譜頁面標明「支援≠符合性」與「存在≠有效性」的邊界。
| 食譜 | 它的作用 | 模組 | 設定檔 |
|---|---|---|---|
encrypt-aes256 | 以 AES-256 加密並設定權限旗標 | 安全性 | structural |
encrypt-with-permissions | 以權限旗標加密 | 安全性 | structural |
sign-pades-b-b | 套用 PAdES 簽章(B-B 與 B-T) | 安全性 | semantic |
inspect-existing-signature | 檢查既有簽章 | 檢查 | semantic |
tagged-pdf-ua2 | 為 PDF/UA-2 產出標記化結構 | 無障礙 | semantic |
accessible-pdfua2-from-html | 從 HTML 為無障礙 PDF/UA-2 產出標記化結構 | 無障礙 | semantic |
pdf-a-4-output | 產生 PDF/A-4 輸出 | 符合性 | semantic |
pdfa4-conformance-gate | 產生 PDF/A-4 輸出,並以外部驗證器作為關卡 | 符合性 | semantic |
validate-conformance | 依符合性設定檔進行驗證 | 合規 | semantic |
檢查與擷取
標題為「檢查與擷取」的區段從 PDF 讀回內容與結構。
| 食譜 | 它的作用 | 模組 | 設定檔 |
|---|---|---|---|
extract-text-content | 擷取文字內容 | 文字 | semantic |
multilingual-copy-paste-extraction | 讓 CJK 與阿拉伯文 PDF 能正確複製貼上 | 文字 | structural |
parse-and-inspect-pdf | 剖析並檢查 PDF | 檢查 | semantic |
inspect-layout-boxes | 檢查佈局方框 | 檢查 | semantic |
橫切面
標題為「橫切面」的區段橫跨數個模組的模式。
| 食譜 | 它的作用 | 橫跨 | 設定檔 |
|---|---|---|---|
worker-safe-batch-rendering | 在長時間執行的工作行程中安全地轉譯(共用登錄、有界的記憶體) | Core · Performance · Support | semantic |
streaming-and-memory | 剖析串流與記憶體使用 | Performance | bitwise |
exception-aware-error-handling | 以 NextPDF 例外階層處理錯誤 | Exception · Contracts | structural |
custom-error-recovery-patterns | 實作自訂錯誤復原與重試策略 | Exception | semantic |
observe-with-opentelemetry | 以 OpenTelemetry 觀測轉譯 | Observability · Telemetry · Event | semantic |
上方每一道食譜都已在核心儲存庫中發佈,並由一支 examples/*.php 指令稿與一個 tests/Cookbook/Php/ 測試框架測試背書。當上游撰寫新食譜時,只要其範例與測試落地,就會出現在這裡。