Deterministyczne sondy regresji różnicowej
HPDFCompareRegressionResultsDeterministic uruchamia dwa adaptery silników wielokrotnie w wybranych domenach, odrzuca przebiegi niestabilne lub nieudane i zapisuje jeden uporządkowany wynik czytelny maszynowo
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;
Domeny
| Domena | Wbudowana sygnatura HotPDF |
|---|---|
rgdParser | Podsumowanie stron, obiektów, wersji, adnotacji, czcionek, obrazów, formularzy, podpisów, szyfrowania, AcroForm i struktury |
rgdRenderer | Pikselowe SHA-256 BGR od góry do dołu przy stałym DPI, z wyłączeniem alfy i dopełnienia linii skanu |
rgdText | UTF-8 SHA-256 z granicami stron po normalizacji CRLF i CR |
rgdSave | SHA-256 i długość w bajtach ograniczonego wyjścia wytworzonego z deterministyczną kolejnością słowników |
Starsze wartości rgdSignature i rgdConformance pozostają dostępne, więc istniejące adaptery sond zachowują swoje wartości porządkowe i kompatybilność źródłową
HPDFRegressionDomainName(Domain) zwraca stabilną nazwę z małych liter jednej wartości THPDFRegressionDomain, np. parser albo renderer, do pól logów i raportów
Kontrakt stabilności
HPDFDefaultDifferentialProbeOptions wybiera trzy przebiegi, limit wejścia 256 MiB i stabilne zapasowe nazwy silników
RepeatCount przyjmuje od 2 do 64 przebiegów; zmiana sygnatury w obrębie jednego silnika oznacza domenę jako niestabilną, nawet gdy pierwsza sygnatura pasuje do drugiego silnika
Wyjątki sondy są konwertowane na stabilne sygnatury błędów zawierające klasę wyjątku i SHA-256 komunikatu, a każdy błąd sprawia, że niezgodność domeny zachowuje się fail-closed
To samo niezmienne wejście jest dostarczane w stałej kolejności domen i silników, a każda wybrana domena pojawia się w raporcie JSON dokładnie raz
Wbudowane ograniczenia
Konfigurowalne przeciążenie HPDFProbeHotPDFDocument przyjmuje DPI renderowania, maksymalną liczbę stron i maksymalną liczbę bajtów wyjścia
Odciski renderowania wykluczają alfę i dopełnienie wierszy, odciski tekstu normalizują reprezentację końców linii, a wyjście zapisu używa ograniczonego strumienia przed hashowaniem
Raport
THPDFDifferentialRegressionInfo przenosi porównane i różniące się zbiory domen, sygnatury lewą i prawą, zbiory niestabilności, zbiory błędów, nazwy silników, liczbę przebiegów oraz SHA-256 wejścia
HPDFDifferentialRegressionInfoToJSON emituje stały schemat hotpdf.differential.v1 ze stabilną kolejnością pól i domen, dla CI, triażu korpusu i przechowywania audytowego
Pomocnik kompatybilności
HPDFCompareRegressionResults zachowuje oryginalne zachowanie wywołania zwrotnego dla pojedynczego przebiegu, dla wywołujących już wytwarzających zewnętrznie ustabilizowane sygnatury