Sondas de regresión diferencial deterministas
HPDFCompareRegressionResultsDeterministic ejecuta dos adaptadores de engine repetidas veces sobre los dominios seleccionados, rechaza las corridas inestables o fallidas y registra un resultado ordenado legible 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;
Dominios
| Dominio | Signature integrada de HotPDF |
|---|---|
rgdParser | Resumen de páginas, objetos, versión, anotaciones, fuentes, imágenes, formularios, firmas, encryption, AcroForm y estructura |
rgdRenderer | SHA-256 de píxeles BGR de arriba hacia abajo a un DPI fijo, excluyendo alpha y el padding de scan-line |
rgdText | SHA-256 UTF-8 delimitado por páginas tras normalizar CRLF y CR |
rgdSave | SHA-256 y longitud en bytes del output acotado producido con orden de diccionario determinista |
Los valores heredados rgdSignature y rgdConformance siguen disponibles para que los adaptadores de probe existentes conserven sus valores ordinales y su compatibilidad de código fuente
HPDFRegressionDomainName(Domain) devuelve el nombre estable en minúsculas de un valor THPDFRegressionDomain como parser o renderer, para campos de logging y de reportes
Contrato de estabilidad
HPDFDefaultDifferentialProbeOptions selecciona tres corridas, un límite de input de 256 MiB y nombres de engine de fallback estables
RepeatCount acepta de 2 a 64 corridas; un cambio de signature dentro de un mismo engine marca ese dominio como inestable incluso cuando su primera signature coincide con la del otro engine
Las excepciones de los probes se convierten en signatures de error estables que contienen la clase de la excepción y un SHA-256 del mensaje, y cualquier error hace que el dominio falle en modo fail-closed
El mismo input inmutable se entrega en un orden fijo de dominios y engines, y cada dominio seleccionado aparece una vez en el reporte JSON
Límites integrados
La sobrecarga configurable de HPDFProbeHotPDFDocument acepta un DPI de render, un máximo de páginas y un máximo de bytes de output
Los fingerprints de render excluyen alpha y el padding de filas, los fingerprints de texto normalizan la representación de saltos de línea, y el output de save pasa por un stream acotado antes del hashing
Reporte
THPDFDifferentialRegressionInfo transporta los conjuntos de dominios comparados y con diferencias, las signatures izquierda y derecha, los conjuntos inestables, los conjuntos de errores, los nombres de engines, la cantidad de repeticiones y el SHA-256 del input
HPDFDifferentialRegressionInfoToJSON emite el schema fijo hotpdf.differential.v1 con un orden estable de campos y dominios para CI, triage de corpus y almacenamiento de auditoría
Helper de compatibilidad
HPDFCompareRegressionResults conserva el comportamiento original de callback de una sola corrida para los llamadores que ya producen signatures estabilizadas externamente