決定的差分回帰プローブ
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。アルファと走査線パディングは除外されます |
rgdText | CRLF と 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 は、すでに外部で安定化された署名を生成する呼び出し側のために、元の単一実行コールバック動作を保持します