ADR-0059:被动 PDF 对象的选页和合并
状态:已接受。
决定
增加独立 composeObjects,在全输入严格预检后整理选页、字段和导航关系,再通过 PDFBox 的完整合并路径复制对象。旧静态入口继续拒绝交互输入。最终目标再次检查对象图、字段/widget 归属、书签和附件,然后编码确切候选。
每个输入显式提供唯一命名空间,根字段和附件名前加该前缀,避免合并时隐式冲突重命名。一个输入快照只出现一次,页可重排但不可重复,重复 widget/目标的语义不在本入口猜测。
被排除页的链接须明确 DISCARD;对应书签保留标题和子树、以 DEGRADE 删除导航目标;被排除的字段 widget 须明确 DISCARD。部分单选组的当前值或默认值已无对应 widget 时,另以 DEGRADE 重置为 Off,不能留下无效状态。文档级 Info/XMP/设置采用第一来源,后续来源的相应内容须明确 DISCARD。加密复制仍要求 owner 和独立解密损失授权。
验证与边界
见合并指南。签名、活动结构、未知对象和非法树不会因策略而放行;选页或改名也不等于内容安全删除。