Метод 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 сохраняют исходные подписанные диапазоны байтов

Недопустимые идентичности и malformed принадлежность сообщают hdInvalidDocument; исчерпание ресурсов сообщает hdLimitExceeded; выбор Widget сообщает hdFieldTypeUnsupported

Сбои безопасности, подписи и отмены сохраняют свои существующие нативные диагностические контракты; требования доверия и меток времени настраиваются через опции политики подписей документа

См. THPDFHeadlessAnnotationIdentity, THPDFHeadlessAnnotationRemovalOptions и нативное удаление аннотаций