原生注释移除
按从零开始的页面索引和精确的 Unicode NM 值移除现有页面注释,同时保留原始 PDF 修订并准备单独的增量输出
原生入口是 THPDFHeadlessDocument.SaveAnnotationRemovalsToFile;普通 Windows 文档使用 THPDFWindowsFormDataTransaction.RemoveAnnotations
标识与依赖
每个标识包含有效的页面索引和非空名称;匹配在解码 PDF 文本字符串后区分大小写,不做 Unicode 规范化,也不与显示文本比对
不同页面上的相同名称标识不同注释;所选页面上名称不存在时是 no-op
移除注释也会移除其 popup 和依赖它的回复,包括嵌套回复和 popup 依赖;已访问集合使依赖环有界,每个被移除的注释只给返回计数贡献一次
只移除 popup 时保留其所有者并清除所有者的 Popup 条目;无关注释保留其原始顺序和数据
重复的请求标识、同一页面上有歧义的请求名称,或被多个页面数组成员共享的注释字典都会在发布前导致失败
发布与安全
原生方法在成功和失败时都保持已加载文档不变;加载生成的 PDF 以采用移除结果
发布使用准备好的文件和原子目标替换;准备失败或取消时保留现有目标,且目标不得是已加载源的别名
零移除发布当前源修订的精确副本;对结果文档重复同一移除返回零并保留其字节
增量修订从当前页面图移除注释,同时保留更早的字节和修订;此操作不是安全擦除或涂销,被删除的内容可能仍可从文件历史恢复
权限与资源限制
实际移除要求加密输入有经认证的注释权限、签名输入有签名策略准入;成功打开加密 PDF 本身并不授予变更注释的权限
经认证的 P1 和 P2 拒绝注释变更;获准的 P3 更新保留原始签名字节,签名完整性和证书绑定检查会应用于实际文档
当这些检查属于应用安全需求时,显式配置所需的证书信任、时间戳和吊销策略
移除选项限制注释计数、操作工作量、名称存储和工作内存,协作式取消与文档或事务共享
当前边界
被选中的 Widget,或经移除依赖到达的 Widget 会被拒绝,因为移除表单字段需要 AcroForm 字段树事务;此 API 不删除字段,也不悄悄分离其 widget
该操作不执行注释 action 或脚本,也不把移除解释为应用 Redact 注释
annotations.remove、显式输入 IO 以及独立的 PDF、结果和上下文提交阶段见 JSON 与回调操作