HPDFSaveContractAnnotatedPDFToStream

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

procedure HPDFSaveContractAnnotatedPDFToStream(Document: THotPDF; Output: TStream;
  const Report: THPDFContractCompareReport; Side: THPDFContractSide;
  CancellationToken: THPDFCancellationToken = nil; Checkpoint: TNotifyEvent = nil);

Модуль — HPDFContractCompare; требуются документ, поток, полный отчёт и корректная сторона

Каждая семантическая страница должна совпадать со снапшотом отчёта до добавления подсветки; прямоугольники должны быть конечными, положительными и ссылаться на существующие страницы, а число аннотаций ограничено 1 000 000

Подсветка использует жёлтый с непрозрачностью 0.28 и флаг printable, чтобы рецензионные метки сохраняли читаемый текст под собой

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

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

Итоговый PDF — рецензионная копия, полученная полной сериализацией, и требует отдельной валидации подписи

Сравнение через JSON и C ABI · Сравнение договоров