跳到正文

ADR-0057:已有 PDF 的静态页级编辑 ​

状态:已接受。

决定 ​

在独立 PDF 适配器增加 PdfPageEditor,复用既有严格解析/图遍历/解码预算。旋转、裁剪、等比缩放及显式字体文字/PNG/JPEG 叠加按声明顺序执行,不经过语义模型,不重新换行或分页。旧静态复制入口及其拒绝边界保持。

几何采用当前未旋转 MediaBox 左上角的物理 pt;适配器换算 UserUnit 和非零原点,/Rotate 仅影响阅读器视图。缩放同时变换内容与所有页面框。叠加层使用显式前置/后置内容流,原内容流及资源保持。

裁剪只改变可见框,必须通过 PAGE_CROP/DEGRADE 报告隐藏未删除。显式 owner 解密另报保护损失;签名没有允许改动的路径。简单文字不塑形,复杂文字默认失败,只允许明确跳过该叠加。字体完全显式,核对嵌入权限及禁止子集标志。

PreparedPdf 持有确切有界编码及损失;发布不重新编辑,路径采用同目录原子替换。借用流不关闭或刷新。

后果 ​

这是页级处理,不能作为内容流替换或安全脱敏;交互输入仍须独立实现与验收。见API及阶段四十九。