ComparePreflightReports

Conformidade, inspeção de documentos

Descrição

Compara dois relatórios de preflight em texto simples e retorna um diff compacto linha a linha quando o conteúdo estável deles difere. Use esta API para detectar desvios do relatório em testes de regressão, jobs de CI ou checagens de entrega que mantêm um relatório baseline ao lado de um fixture PDF.

Sintaxe

Delphi

Function TPDFlib.ComparePreflightReports(Const ReportA, ReportB: WideString): WideString;

Parâmetros

ReportARelatório básico em texto simples, geralmente produzido por CreatePreflightReport ou lido de um arquivo criado por SavePreflightReport.
ReportBRelatório atual em texto simples a comparar com o baseline.

Valor de retorno

Retorna uma string vazia quando os relatórios batem depois de normalizar as linhas voláteis de timestamp Generated:. Quando o conteúdo estável difere, o resultado começa com PDF Library for Delphi Preflight Report Diff; linhas compartilhadas usam um prefixo de dois espaços, linhas só em ReportA usam - e linhas só em ReportB usam + .

Observações

A comparação foi desenhada para a saída de texto determinística produzida por CreatePreflightReport. Ela não interpreta relatórios JSON, HTML ou CSV; compare a forma de texto simples quando um fluxo precisar de gates de regressão estáveis e depois gere qualquer relatório formatado necessário para humanos ou ferramentas downstream. Veja Preflight Reports para o fluxo completo de linha de comando e lote.

Exemplo

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);

Veja também

Preflight Reports, CreatePreflightReport, CreatePreflightReportEx, SavePreflightReport, SavePreflightReportEx, CheckFileCompliance