PHP 食谱
PHP 食谱
标题为“PHP 食谱”的章节这是 PHP 原生 NextPDF 食谱索引,收录的是面向任务、可运行的页面,直接针对核心 PHP API 编写。 nextpdf 核心仓库拥有并验证 docs/public/cookbook/php/ 下的每个食谱。 每个食谱都由一个 examples/*.php 脚本和一个 tests/Cookbook/Php/ 测试夹具支撑。 随后,聚合器会把每个页面拉入本站,并一并带上其来源出处。
由于本页只是索引,它不会对任何食谱的行为作出声明。 每一行都记录该食谱的意图、调用的核心模块,以及它声明的可复现性概况。 该概况以及任何合规性声明都位于食谱页面本身,来源于该页面的 front-matter 及其仓库内测试,而不是本页。 关于集成(框架、渲染器、服务)食谱,请参阅 集成食谱。 关于每个可运行食谱都遵循的约定,请参阅 食谱约定。
食谱链接如何解析
标题为“食谱链接如何解析”的章节下面每个 [[…]] 都是对核心仓库 docs/public/cookbook/php/ 下页面的前向引用,随后会由聚合器拉入本站。 slug 遵循一条约定:只包含单个段。
/cookbook/php/<recipe>/<recipe> 以 kebab-case 命名该食谱的意图(例如 render-html-to-pdf,而不是模块名 html)。 它使用小写字母、以连字符分隔、不含版本号,并以结尾斜杠收尾。 在目标页面完成聚合之前,其链接只是占位符,无法解析。 尚无可运行示例的食谱(见下方缺口清单)必须等到示例和测试夹具都存在后才能发布,尽管其链接已经指向最终的 slug。
一句话说清可复现性概况
标题为“一句话说清可复现性概况”的章节每个食谱都声明它能如实满足的最严格概况:
- bitwise —— 跨多次运行逐字节相同(纯确定性内容,所有熵均已固定)。
- structural —— 对易变原子进行归一化之后相同(trailer 中的
/ID、creation/modification 日期、字体子集前缀——实际上涵盖每个多对象 PDF)。 - semantic —— 仅做结构化 AST 加元数据的等价比较(已签名或带时间戳的输出,或本身在字节层面就不稳定的输出)。
该概况是食谱页面通过其测试夹具证明的一项属性。 本索引仅报告页面声明的值。
已纳入聚合的食谱
标题为“已纳入聚合的食谱”的章节核心仓库现在已经收纳并合并了这五个食谱,即 Wave 8 这一批。
| 食谱 | 它的用途 | 模块 | 概况 |
|---|---|---|---|
sign-pades(计划于上游) | 用软件密钥应用 CMS/PAdES 基线签名 | 安全 | semantic |
encrypt-aes256(计划于上游) | 使用 AES-256 加密并设置权限标志 | 安全 | structural |
pdfa4-conformance-gate(计划于上游) | 生成 PDF/A-4 输出,并以外部校验器作为门禁 | 一致性 | semantic |
accessible-pdfua2-from-html(计划于上游) | 为无障碍 PDF/UA-2 生成带标签结构 | 无障碍 | semantic |
validate-signature(计划于上游) | 检查某个 PDF 是否携带签名,以及其信任边界 | 检查 | semantic |
构建文档、分页,并设置文档样式。
| 食谱 | 它的用途 | 模块 | 概况 |
|---|---|---|---|
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 |
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 |
optional-content-layers(计划于上游) | 使用可选内容(图层) | 图形 | structural |
transform-coordinate-space(计划于上游) | 变换坐标空间 | 图形 | structural |
导航与表单
标题为“导航与表单”的章节书签、链接、注释与 AcroForm 字段。
| 食谱 | 它的用途 | 模块 | 概况 |
|---|---|---|---|
bookmarks-and-toc(计划于上游) | 构建书签和目录 | 导航 | structural |
links-and-annotations(计划于上游) | 添加链接与注释 | 导航 | structural |
generate-barcodes(计划于上游) | 生成条形码 | 条形码 | bitwise |
fill-pdf-form(计划于上游) | 填写 AcroForm | 表单 | structural |
flatten-form-fields(计划于上游) | 扁平化表单字段 | 表单 | structural |
文档信息
标题为“文档信息”的章节设置元数据与查看器行为。
| 食谱 | 它的用途 | 模块 | 概况 |
|---|---|---|---|
set-document-metadata(计划于上游) | 设置文档元数据 | 元数据 | structural |
set-viewer-preferences(计划于上游) | 设置查看器首选项 | 文档 | 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 |
pdf-a-4-output(计划于上游) | 生成 PDF/A-4 输出 | 一致性 | semantic |
validate-conformance(计划于上游) | 根据一致性概况进行校验 | 合规 | semantic |
检查与提取
标题为“检查与提取”的章节从 PDF 中读取内容与结构。
| 食谱 | 它的用途 | 模块 | 概况 |
|---|---|---|---|
extract-text-content(计划于上游) | 提取文本内容 | 文本 | semantic |
parse-and-inspect-pdf(计划于上游) | 解析并检查一个 PDF | 检查 | semantic |
inspect-layout-boxes(计划于上游) | 检查布局盒 | 检查 | semantic |
横切关注点
标题为“横切关注点”的章节跨多个模块的模式。
| 食谱 | 它的用途 | 跨越 | 概况 |
|---|---|---|---|
worker-safe-batch-rendering(计划于上游) | 在长时间运行的工作进程中安全渲染(共享注册表、有界内存) | Core · Performance · Support | semantic |
exception-aware-error-handling(计划于上游) | 使用 NextPDF 异常体系处理错误 | Exception · Contracts | structural |
observe-with-opentelemetry(计划于上游) | 使用 OpenTelemetry 观测渲染过程 | Observability · Telemetry · Event | semantic |
尚待可运行示例的食谱
标题为“尚待可运行示例的食谱”的章节这些食谱需要在核心仓库中新增 examples/*.php 以及一个 tests/Cookbook/Php/ 测试夹具,之后才能发布。 上面的 slug 已经最终确定。 在示例落地并完成测试运行之前,对应页面仍然是占位符:
sign-pades-b-b(计划于上游)(涵盖 PAdES B-B 与 B-T)inspect-existing-signature(计划于上游)extract-text-content(计划于上游)parse-and-inspect-pdf(计划于上游)validate-conformance(计划于上游)inspect-layout-boxes(计划于上游)worker-safe-batch-rendering(计划于上游)(示例已存在;新增了内存/GC 测试夹具)observe-with-opentelemetry(计划于上游)(新增了 PHP 原生示例)
上面其余每个食谱都已有一个支撑用的 examples/*.php,只需要再补一个测试夹具包装器。 本索引记录 slug 与最终页面。 它并不声称任何尚待完成的页面已经完成。