ADR-0077:单向 PDF 的加密及静态归档
状态:已采纳。
决策
PdfBackend.open 接受已有 PdfOptions 的 AES-256 或静态 PDF/A-2b 配置,不建立另一套安全选项。普通完整文档与逐页写出共用同一权限映射和保护逻辑,显式 finish 时保存;接收页面不写最终 PDF 字节。
加密路径保持被动外链及普通图文语义。归档路径继续只允许静态 RGB 和嵌入字体/轮廓文字,非空页链接及标准字体命令明确失败,不能静默丢弃。ICC、XMP 与元数据在完成阶段写入,最终文件须独立验证。
轮廓文字的 PDF/A 锚点字体进入同一 maxFontBytes 计数,与普通字形字体按显式 SHA-256 去重。完整文档与逐页路径都执行该限制,不能以文字转轮廓绕过实际嵌入资源额度。
加密和归档仍互斥;失败会话终止,借用输出不关闭,路径失败保护由既有 DocumentEngine 原子编排维持。关闭不隐式完成。PDFBox 页树仍累积,安全选项不改变内存边界;签名仍在最终文件上显式追加,不内置密钥或自动网络请求。