確定性差異迴歸探針

HPDFCompareRegressionResultsDeterministic 在選定的範疇上反覆執行兩個引擎配接器、拒絕不穩定或失敗的執行,並記錄一份有序且機器可讀的結果

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;

範疇

範疇內建 HotPDF 特徵碼
rgdParser頁面、物件、版本、註解、字型、影像、表單、簽章、加密、AcroForm 與結構摘要
rgdRenderer在固定 DPI 下由上而下的 BGR 像素 SHA-256,排除 alpha 與掃描列填充
rgdText經 CRLF 與 CR 正規化後、以頁面分隔的 UTF-8 SHA-256
rgdSave以確定性字典順序產生之有界輸出的 SHA-256 與位元組長度

舊版的 rgdSignature 與 rgdConformance 值仍然可用,既有的探針配接器因此保留其序數值與原始碼相容性

HPDFRegressionDomainName(Domain) 回傳單一 THPDFRegressionDomain 值的穩定小寫名稱,例如 parser 或 renderer,供日誌與報告欄位使用

穩定性契約

HPDFDefaultDifferentialProbeOptions 選擇三次執行、256 MiB 輸入上限與穩定的後備引擎名稱

RepeatCount 接受 2 到 64 次執行;同一個引擎內的特徵碼出現變化時,該範疇就會被標記為不穩定,即使它的第一個特徵碼與另一個引擎相符也一樣

探針例外會轉換成含有例外類別與訊息 SHA-256 的穩定錯誤特徵碼,而任何錯誤都會讓該範疇以 fail-closed 方式判定為不一致

相同的不可變輸入會以固定的範疇與引擎順序提供,且每個選定範疇在 JSON 報告中恰好出現一次

內建上限

可設定的 HPDFProbeHotPDFDocument 多載接受轉譯 DPI、最大頁數與最大輸出位元組數

轉譯特徵碼排除 alpha 與列填充,文字特徵碼會正規化換行表示法,儲存輸出在雜湊前先經過有界串流

報告

THPDFDifferentialRegressionInfo 帶有已比較與存在差異的範疇集合、左右特徵碼、不穩定集合、錯誤集合、引擎名稱、重複次數與輸入 SHA-256

HPDFDifferentialRegressionInfoToJSON 輸出固定的 hotpdf.differential.v1 結構,欄位與範疇順序穩定,適合 CI、語料庫分類與稽核儲存

相容性輔助

HPDFCompareRegressionResults 保留原本單次執行的回呼行為,供已自行在外部穩定特徵碼的呼叫端使用