Восстановление графа объектов по результатам preflight

RepairLoadedObjectGraphFromPreflightFindings применяет к уже загруженному PDF только запрошенные категории структурного восстановления и фиксирует их после ограниченной рекурсивной валидации

Объявление

function RepairLoadedObjectGraphFromPreflightFindings(
  const Findings: THPDFObjectGraphRepairKinds;
  const Options: THPDFObjectGraphRepairOptions;
  out Report: THPDFObjectGraphRepairReport): Boolean;

Категории восстановления

Бюджеты и атомарность

THPDFObjectGraphRepairOptions.Default задаёт лимиты на число осмотренных объектов, глубину рекурсии и применённые восстановления

Вся изменяемая работа с графом клонируется в транзакцию, рекурсивно проверяется и завершается до commit

Циклы, дублирующиеся номера объектов, дублирующиеся ключи дерева имён, неоднозначные корни, повреждённые потомки и превышение бюджетов приводят к отказу без публикации частичных изменений графа

Сохранение

Успешное восстановление xref или trailer должно быть опубликовано обычным полным сохранением: инкрементальное обновление не может заменить ненадёжную прежнюю структуру перекрёстных ссылок

Отчёт о результате

THPDFObjectGraphRepairReport называет запрошенные и применённые категории, счётчики восстановлений, число осмотренных и клонированных объектов, число проверенных страниц, состояние отката, статус и диагностику

Доступно с: HotPDF v2.716.0

См. также: Редактирование графа объектов и сборка страниц, Редактируемые диагностические документы и восстановление