Sondas de regressão diferencial determinísticas

HPDFCompareRegressionResultsDeterministic executa dois adaptadores de mecanismo repetidamente nos domínios selecionados, rejeita execuções instáveis ou com falha e registra um resultado ordenado legível por máquina

API

function HPDFCompareRegressionResultsDeterministic(
  const Input: TBytes;
  Domains: THPDFRegressionDomains;
  const LeftProbe, RightProbe: THPDFRegressionProbe;
  const Options: THPDFDifferentialProbeOptions;
  out AInfo: THPDFDifferentialRegressionInfo): Boolean;

function HPDFProbeHotPDFDocument(
  Domain: THPDFRegressionDomain;
  const Input: TBytes): AnsiString;

function HPDFDifferentialRegressionInfoToJSON(
  const AInfo: THPDFDifferentialRegressionInfo): AnsiString;

Domínios

DomínioAssinatura HotPDF integrada
rgdParserResumo de página, objeto, versão, anotação, fonte, imagem, formulário, assinatura, criptografia, AcroForm e estrutura
rgdRendererSHA-256 de pixels BGR de cima para baixo em um DPI fixo com alfa e preenchimento de linha de varredura excluídos
rgdTextSHA-256 UTF-8 delimitado por página após normalização de CRLF e CR
rgdSaveSHA-256 e comprimento em bytes da saída limitada produzida com ordem de dicionário determinística

Os valores legados rgdSignature e rgdConformance permanecem disponíveis para que os adaptadores de sonda existentes mantenham seus valores ordinais e compatibilidade de fonte

O HPDFRegressionDomainName(Domain) retorna o nome estável em minúsculas de um valor THPDFRegressionDomain, como parser ou renderer, para campos de log e de relatório

Contrato de estabilidade

HPDFDefaultDifferentialProbeOptions seleciona três execuções, um limite de entrada de 256 MiB e nomes de mecanismo de fallback estáveis

RepeatCount aceita de 2 a 64 execuções; uma alteração de assinatura dentro de um mecanismo marca esse domínio como instável mesmo quando sua primeira assinatura corresponde ao outro mecanismo

Exceções de sonda são convertidas em assinaturas de erro estáveis que contêm a classe de exceção e um SHA-256 da mensagem, e qualquer erro faz o domínio discordar em modo de falha fechada

A mesma entrada imutável é fornecida em ordem fixa de domínio e mecanismo, e todo domínio selecionado aparece uma vez no relatório JSON

Limites integrados

A sobrecarga configurável HPDFProbeHotPDFDocument aceita um DPI de renderização, um número máximo de páginas e bytes máximos de saída

Impressões digitais de renderização excluem alfa e preenchimento de linha, impressões digitais de texto normalizam a representação de nova linha e a saída salva usa um fluxo limitado antes do hash

Relatório

THPDFDifferentialRegressionInfo carrega os conjuntos de domínios comparados e diferentes, assinaturas esquerda e direita, conjuntos instáveis, conjuntos de erro, nomes de mecanismo, contagem de repetições e o SHA-256 da entrada

HPDFDifferentialRegressionInfoToJSON emite o esquema fixo hotpdf.differential.v1 com ordem estável de campos e domínios para CI, triagem de corpus e armazenamento de auditoria

Auxiliar de compatibilidade

HPDFCompareRegressionResults retém o comportamento original de retorno de chamada de execução única para chamadores que já produzem assinaturas estabilizadas externamente