Восстановление графа объектов по результатам preflight
RepairLoadedObjectGraphFromPreflightFindings применяет к уже загруженному PDF только запрошенные категории структурного восстановления и фиксирует их после ограниченной рекурсивной валидации
Объявление
function RepairLoadedObjectGraphFromPreflightFindings(
const Findings: THPDFObjectGraphRepairKinds;
const Options: THPDFObjectGraphRepairOptions;
out Report: THPDFObjectGraphRepairReport): Boolean;
Категории восстановления
ogrXRefпланирует детерминированную полную перезапись перекрёстных ссылокogrTrailerсогласует ссылки загруженного корня и информации и планирует полную перезаписьogrCatalogнормализует однозначно идентифицируемый catalog и его связь с деревом страницogrPageTreeнормализует типы узлов, родительские ссылки и счётчики потомковogrNameTreeсортирует уникальные ключи и дочерние диапазоны и заново строит корректные массивы/Limits
Бюджеты и атомарность
THPDFObjectGraphRepairOptions.Default задаёт лимиты на число осмотренных объектов, глубину рекурсии и применённые восстановления
Вся изменяемая работа с графом клонируется в транзакцию, рекурсивно проверяется и завершается до commit
Циклы, дублирующиеся номера объектов, дублирующиеся ключи дерева имён, неоднозначные корни, повреждённые потомки и превышение бюджетов приводят к отказу без публикации частичных изменений графа
Сохранение
Успешное восстановление xref или trailer должно быть опубликовано обычным полным сохранением: инкрементальное обновление не может заменить ненадёжную прежнюю структуру перекрёстных ссылок
Отчёт о результате
THPDFObjectGraphRepairReport называет запрошенные и применённые категории, счётчики восстановлений, число осмотренных и клонированных объектов, число проверенных страниц, состояние отката, статус и диагностику
Доступно с: HotPDF v2.716.0
См. также: Редактирование графа объектов и сборка страниц, Редактируемые диагностические документы и восстановление