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
| ReportA | Relatório básico em texto simples, geralmente produzido por CreatePreflightReport ou lido de um arquivo criado por SavePreflightReport. |
|---|---|
| ReportB | Relató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