Удаление аннотаций Windows

Обычные загруженные документы Windows используют THPDFWindowsFormDataTransaction.RemoveAnnotations для подготовки удалений аннотаций через нативный движок политик

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

Выбирайте аннотации, используя идентичности страницы с нуля и точного имени Unicode, затем осмотрите ChangedAnnotations и скопируйте подготовленный PDF через WritePreparedPDF

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

Счётчик удалений включает каскадные удаления popup и ответов; он не меняет контракт счёта добавления существующего метода отображаемого XFDF-импорта

Файловые задания

Обычная точка входа JSON-заданий принимает type: "annotations.remove", исходный путь input, отдельный путь output и массив идентичностей annotations

{
  "schemaVersion": 1,
  "type": "annotations.remove",
  "input": "source.pdf",
  "output": "removed.pdf",
  "annotations": [{"page": 0, "name": "review-note"}]
}

Задание готовит и выгружает временный PDF перед атомарной заменой назначения; сбои до замены сохраняют назначение и убирают принадлежащий временный файл

Результат содержит removed, mediaType: "application/pdf" и annotationProfile: "page-and-nm-removal-v1"; несовпавший запрос возвращает ноль и сохраняет текущие байты PDF

Вызывающие через Windows C ABI могут использовать ту же схему удаления с колбэк-IO; явный входной IO готовится независимо от текущего документа хэндла, пока публикация и PDF, и результата не увенчается успехом

Различие между уже записанными байтами приёмника и зафиксированным состоянием документа хэндла см. в деталях колбэк-операции и фиксации

Граница

Widget-ам требуется политика удаления дерева полей, и они отклоняются этой операцией страничных аннотаций; инкрементальное удаление сохраняет исторические байты и не должно использоваться как безопасное стирание

Зашифрованные разрешения, ограничения сертификации, рабочие бюджеты и отмена остаются активными в мосте Windows