決定的差分回帰プローブ

HPDFCompareRegressionResultsDeterministic は、選択したドメインにわたって 2 つのエンジンアダプタを繰り返し実行し、不安定な実行や失敗した実行を拒否して、1 つの順序付けられた機械可読な結果を記録します

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。アルファと走査線パディングは除外されます
rgdTextCRLF と CR の正規化後のページ区切り UTF-8 SHA-256
rgdSave決定的な辞書順で生成された境界付き出力の SHA-256 とバイト長

以前の rgdSignature と rgdConformance の値は引き続き使用できるため、既存のプローブアダプタはその順序値とソース互換性を保持します

HPDFRegressionDomainName(Domain) は、parser や renderer といった THPDFRegressionDomain 値の安定した小文字名を返します。ログやレポートのフィールドに使用します

安定性の契約

HPDFDefaultDifferentialProbeOptions は 3 回の実行、256 MiB の入力制限、安定したフォールバックエンジン名を選択します

RepeatCount は 2 から 64 回の実行を受け入れます。1 つのエンジン内での署名の変更は、最初の署名が他方のエンジンと一致する場合でも、そのドメインを不安定としてマークします

プローブ例外は、例外クラスとメッセージの SHA-256 を含む安定したエラー署名に変換され、エラーがあるとそのドメインはフェイルクローズで不一致になります

同じ不変の入力が固定のドメイン順とエンジン順で供給され、選択されたすべてのドメインが JSON レポートに 1 回ずつ出現します

組み込みの境界

設定可能な HPDFProbeHotPDFDocument オーバーロードは、描画 DPI、最大ページ数、最大出力バイト数を受け入れます

描画フィンガープリントはアルファと行パディングを除外し、テキストフィンガープリントは改行表現を正規化し、保存出力はハッシュ化前に境界付きストリームを使用します

レポート

THPDFDifferentialRegressionInfo は、比較されたドメインセットと異なるドメインセット、左右の署名、不安定なセット、エラーセット、エンジン名、繰り返し回数、入力 SHA-256 を運びます

HPDFDifferentialRegressionInfoToJSON は、CI、コーパストリアージ、監査ストレージのために安定したフィールドとドメイン順を持つ固定スキーマ hotpdf.differential.v1 を出力します

互換性ヘルパー

HPDFCompareRegressionResults は、すでに外部で安定化された署名を生成する呼び出し側のために、元の単一実行コールバック動作を保持します