Pro 版本
法务
NextPDF Pro 按你的配置为文档页面应用顺序 Bates 编号。它生成自包含的 PDF 内容流片段,其前缀、后缀、补位、位置以及一个可切换的可选内容图层均可配置。
可用性与授权
标题为“可用性与授权”的章节此能力随 NextPDF Pro(nextpdf/pro)发布,并通过 Pro 层级的授权信封激活。没有该授权项的部署不会加载此能力的相关类。比较各版本并获取授权。
composer require nextpdf/pro:^3概念概述
标题为“概念概述”的章节Bates 编号会在每一页盖上一个顺序标识符,常用于在文档制作流程中追踪页面。NextPDF Pro 提供:
BatesNumberConfig—— 一个不可变的配置值对象。你设置前缀(例如CASE-2024-)、后缀、起始编号、零补位宽度、字体族与字号、不透明度、位置、边距内缩,以及是否将标记放置在一个可选内容图层上。BatesNumberer—— 引擎。给定页数和每页尺寸,它会为每一页返回一个自包含的内容流片段。每个片段都携带自己的q/Q保存/恢复,因此它会追加到现有页面的内容上,而不会扰动其他图形。BatesPosition—— 一个含六个预定义角落位置的枚举,每个位置都可配置一个距页面边缘的内缩。该枚举在 PDF 原生空间(原点在左下角)中计算坐标。
可选内容图层让查看器能够打开或关闭 Bates 标记,从而保持底层页面内容不被修改。
NextPDF Pro 完全按你的配置应用 Bates 编号。编号方案、留存,以及任何证据层面的处理,都是你和你法务团队的职责。NextPDF Pro 并不主张一份已编号的文档可被法庭采纳、具有法律效力,或满足任何司法辖区的取证披露规则。请就程序性与证据性要求咨询你的法务与合规团队。
为何如此设计
标题为“为何如此设计”的章节其中承重的设计决策是:BatesNumberer 为每一页发出一个自包含的内容流片段,而不是就地编辑页面。每个片段都将其绘制包裹在自己的 q/Q 保存与恢复之内,并可选地置于一个 OCG BDC/EMC 标记内容图层之中。因此标记会追加到页面之上而不扰动其中已有的图形,底层页面字节保持不变。这种非破坏性的姿态使标记可逆:查看器可以关闭该图层并恢复原始页面。它还让每一页保持独立。编号与页数保持线性关系,而且一页的标记无法破坏另一页的标记。
设计背景:增量更新及其重要性。
API 接口面
标题为“API 接口面”的章节| 类 | 职责 |
|---|---|
BatesNumberConfig | 不可变的外观、编号与位置设置。 |
BatesNumberer | 生成逐页内容流片段。 |
BatesPosition | 带边距内缩的预定义角落位置。 |
代码示例 —— 快速上手
标题为“代码示例 —— 快速上手”的章节use NextPDF\Pro\Legal\BatesNumberer;
$streams = BatesNumberer::generate( pageCount: 50, pageSizes: $pageSizes, prefix: 'EX-',);代码示例 —— 生产环境
标题为“代码示例 —— 生产环境”的章节use NextPDF\Pro\Legal\BatesNumberConfig;use NextPDF\Pro\Legal\BatesNumberer;use NextPDF\Pro\Legal\BatesPosition;
$config = new BatesNumberConfig( prefix: 'CASE-2024-', suffix: '-CONFIDENTIAL', padding: 6, position: BatesPosition::BottomRight, useLayer: true,);$streams = (new BatesNumberer($config))->generateStreams($pageCount, $pageSizes);边界情况与注意事项
标题为“边界情况与注意事项”的章节- 返回片段的数量与页数相符;
pageSizes长度不匹配会快速失败。 - 所配置的字体族必须在字体注册表中可用。
- 不透明度与图层切换依赖于消费端查看器对可选内容的支持。
生成与页数呈线性关系。每个片段都很小且相互独立。
安全说明
标题为“安全说明”的章节Bates 标记是叠加内容。它们不会遮蔽、加密或以其他方式更改底层页面数据。请使用 Security 模块进行遮蔽或访问控制。
一致性
标题为“一致性”的章节| 行为 | 参考 | 状态 |
|---|---|---|
| 可选内容组(可切换图层) | ISO 32000-2 §8.11 | 对齐(已转述) |
本表记录 NextPDF Pro 所依循构建的规范。它不是一份关于法律效力或证据充分性的声明。
行为契约
标题为“行为契约”的章节BatesNumberConfig是一个不可变值对象,用于前缀、后缀、起始编号、零补位宽度、字体族与字号、不透明度、位置、边距内缩,以及可选内容图层的开关。BatesNumberer为每一页返回一个自包含的内容流片段,每个片段都带有自己的q/Q保存/恢复,因此它会追加而不扰动其他页面图形。片段数量与页数相符;pageSizes长度不匹配会快速失败。BatesPosition提供六个在 PDF 原生空间(原点在左下角)中计算的预定义角落位置,并带有一个可配置的边距内缩。- Bates 标记是叠加内容。它们不会遮蔽、加密或更改底层页面数据。
- 本模块完全按所配置的方式应用 Bates 编号。它并不主张一份已编号的文档可被法庭采纳、具有法律效力,或满足任何司法辖区的取证披露规则。
Enterprise 边界说明
标题为“Enterprise 边界说明”的章节Enterprise 不改变 Legal 的行为。Enterprise 增加的是另行记录的更高层级合规与签名功能;它们对 Bates 编号并非必需。
Core 回退/替代方案
标题为“Core 回退/替代方案”的章节可配置的 Bates 编号没有 Core 层级的对等物。这是一项 Pro 新增能力。
发布边界
标题为“发布边界”的章节本页面仅记录可从外部观察到的行为以及受支持的公共 API 接口面。内部命名空间路径、辅助类、机制表、runbook 文件名以及工单前缀均不在范围之内。
另请参阅
标题为“另请参阅”的章节- Merge —— 在编号前组装制作集。
- Security —— 遮蔽与访问控制。
- Legal — 深度参考 —— 完整 API 契约与行为细节。