ComparePreflightReports
Соответствие стандартам, инспекция документов
Описание
Сравнивает два текстовых preflight-отчета и возвращает компактный построчный дифф, когда их стабильное содержимое различается. Используйте этот API, чтобы ловить дрейф отчетов в регрессионных тестах, задачах CI или проверках поставки, хранящих базовый отчет рядом с PDF-фикстурой
Синтаксис
Delphi
Function TPDFlib.ComparePreflightReports(Const ReportA, ReportB: WideString): WideString;
Параметры
| ReportA | Базовый текстовый отчет, обычно созданный CreatePreflightReport или прочитанный из файла, созданного SavePreflightReport |
|---|---|
| ReportB | Текущий текстовый отчёт для сравнения с базовым |
Возвращаемое значение
Возвращает пустую строку, когда отчеты совпадают после нормализации изменчивых строк метки времени Generated:. Когда стабильное содержимое различается, результат начинается с PDF Library for Delphi Preflight Report Diff; общие строки получают префикс из двух пробелов, строки только в ReportA — - , строки только в ReportB — +
Примечания
Сравнение рассчитано на детерминированный текстовый вывод CreatePreflightReport. Оно не разбирает отчеты JSON, HTML или CSV; для стабильных регрессионных вентилей сравнивайте текстовую форму, а затем генерируйте любой форматированный отчет для людей или нижестоящих инструментов. Полный сценарий командной строки и пакетной работы — в Preflight Reports
Пример
Baseline := TFile.ReadAllText('expected-preflight.txt', TEncoding.UTF8);
Current := PDF.CreatePreflightReport('output.pdf', '', 1 or 2, 0);
Diff := PDF.ComparePreflightReports(Baseline, Current);
if Diff <> '' then
TFile.WriteAllText('preflight.diff.txt', Diff, TEncoding.UTF8);
См. также
Preflight Reports, CreatePreflightReport, CreatePreflightReportEx, SavePreflightReport, SavePreflightReportEx, CheckFileCompliance