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