Нативный аннотированный PDF для рецензирования
Создавайте реально видимые рецензенские выделения в нативной инкрементальной копии PDF, сохраняя исходное содержимое страниц, ресурсы, шифрование и диапазоны байтов подписей
{"schemaVersion":1,"type":"compare.contract","format":"pdf","side":"after","options":{"maxHighlights":1000}}
Вызовите hpdf_document_compare_json_v1 с двумя загруженными дескрипторами, обязательным callback вывода PDF и обязательным callback результата; side выбирает before или after и по умолчанию равен after
JSON-результат содержит полное семантическое сравнение, mediaType:application/pdf и выбранную сторону; бинарный callback получает реальную подготовленную ревизию PDF
Точки входа Pascal
HPDFSaveHeadlessContractAnnotatedPDF отображает полный отчёт сравнения в выделения строк источника, проверяя число страниц, текст и геометрию позиционированных строк по выбранному загруженному документу перед экспортом
SaveReviewHighlightsToFile принимает явные прямоугольники страниц и подписи Unicode для других рецензенских процессов
Вывод и права
Каждое выделение — это реальная аннотация Highlight с прямоугольником, четырёхугольником, содержимым Unicode, флагом печати и normal Form-внешним видом с жёлтой заливкой и прозрачностью Multiply
Существующие аннотации и виджеты подписей остаются на месте; ни одна точка входа не меняет аннотации загруженного документа и его dirty-состояние
Аутентифицированный DocMDP P3 разрешает рецензенские аннотации; P1 и P2 отклоняют их до публикации, как и более строгие аутентифицированные права блокировки полей и пользовательские права шифрования без права аннотирования
Корректные рецензенские ревизии P3 можно снова открыть и сохранить; валидация сохраняет исходные виджеты ровно один раз и продолжает защищать содержимое страниц, ресурсы и подписанные или заблокированные поля
Лимиты и отмена
Инициализируйте THPDFHeadlessReviewOptions.Default перед изменением MaxHighlights, MaxWorkingBytes или CancellationToken; значения по умолчанию — 10000 выделений и 67108864 байта подготовки
Действуют также лимиты документа на объекты, байты объектов, байты файла и глубину; подписи требуют корректный UTF-16 без NUL, а прямоугольники — конечные ограниченные координаты и положительные размеры
Писатель готовит данные приватно, сбрасывает staging-файл и публикует атомарным переименованием; алиасы источника, сбои валидации, исчерпанные бюджеты и отмена сохраняют существующий целевой файл и удаляют неопубликованные staging-файлы
Используйте один общий токен отмены для документа и его опций рецензирования; временные лимиты документа восстанавливаются, даже если запрошена отмена
Проверка читалкой
Приёмка проверяет открытый текст, вложенные Form, AES R5/R6, подписи Unicode, повторные ревизии, сохранение доверенных подписей CAdES, реально видимые пиксели MuPDF и обе стороны источника через фрагментированные нативные callback
Читалка может выбрать прозрачную композитинг-обработку страницы из ресурсов аннотаций даже при отключённой отрисовке аннотаций, меняя сглаживание текста; отдельное удаление только аннотаций восстанавливает точные исходные пиксели страницы
Прямоугольники сравнения покрывают затронутые семантические строки, а не точные контуры символов; общие тепловые карты сравнения изображений и аннотированные сравнения вне контракта остаются отдельными возможностями
Нативное поведение и лимиты рецензирования · Нативное сравнение контракта