THPDFHeadlessDocument.SaveAnnotationRemovalsToFile 方法
function SaveAnnotationRemovalsToFile(const FileName: string;
const Identities: array of THPDFHeadlessAnnotationIdentity;
const Options: THPDFHeadlessAnnotationRemovalOptions): Integer;
从当前已加载源准备页面注释移除,并把单独的 PDF 原子发布到 FileName
Identities 按有效的从零开始页面索引和精确解码的 Unicode NM 值选择注释;Options 提供正的资源限制和可选的共享取消
返回值对每个被移除的注释计一次,包括 popup 和回复依赖;可以超过请求标识的数量
空请求或有效但未匹配的标识返回零并发布精确的当前源字节;重复标识、有歧义的选中名称和共享注释所有者会失败
移除所有者会传递地移除依赖的 popup 和回复,环处理有界;只移除 popup 会清除被保留所有者的 Popup 链接
选中或依赖的 Widget 会抛出 hdFieldTypeUnsupported,因为字段树删除是单独的事务
状态与发布
成功和失败之后已加载文档都保持不变;重新加载发布的 PDF 以采用变更后的修订
有变更的输出是保留原文件前缀的增量修订;零变更产生精确副本,此操作不安全擦除旧修订
输出路径不得是已加载源的别名;分配失败、无效输入、策略拒绝、预算耗尽和取消都会保留现有目标
策略与诊断
实际变更要求加密文档的注释权限和经认证的签名文档策略准入;认证 P1/P2 拒绝变更,获准的 P3 变更保留原始签名字节范围
无效标识和畸形归属报告 hdInvalidDocument;资源耗尽报告 hdLimitExceeded;Widget 选择报告 hdFieldTypeUnsupported
安全、签名和取消失败保留其既有原生诊断契约;通过文档的签名策略选项配置信任和时间戳要求
相关内容见 THPDFHeadlessAnnotationIdentity、THPDFHeadlessAnnotationRemovalOptions 和原生注释移除