Preflight 驱动的对象图修复
RepairLoadedObjectGraphFromPreflightFindings 只把请求的结构修复类别应用到已加载的 PDF 上,并在有界的递归校验之后一并提交
声明
function RepairLoadedObjectGraphFromPreflightFindings(
const Findings: THPDFObjectGraphRepairKinds;
const Options: THPDFObjectGraphRepairOptions;
out Report: THPDFObjectGraphRepairReport): Boolean;
修复类别
ogrXRef安排一次确定性的全量交叉引用重写ogrTrailer调和已加载的 root 与 information 引用,并安排全量重写ogrCatalog规范化唯一可识别的 catalog 及其页面树链接ogrPageTree规范化节点类型、父链接和后代计数ogrNameTree对唯一键和子区间排序,重建合法的/Limits数组
预算与原子性
THPDFObjectGraphRepairOptions.Default 提供检查对象数、递归深度和已应用修复数的上限
所有可变的图操作都会克隆进一个事务,经过递归校验后在提交前定稿
出现环、重复对象编号、重复 name tree 键、含糊的 root、格式错误的子节点或预算超限时直接失败,不会发布部分图变更
保存
xref 或 trailer 修复成功后必须通过常规全量保存发布,因为增量更新无法替换一个不可信的旧交叉引用结构
结果报告
THPDFObjectGraphRepairReport 记录请求和已应用的类别、修复计数、检查与克隆的对象数、已校验页数、回滚状态、状态码和诊断信息
可用版本: HotPDF v2.716.0
另请参阅: Object Graph Editing and Page Assembly, Editable Diagnostic Documents and Repair