ネイティブ Linux 契約書比較
hpdf_document_compare_json_v1 は 2 つのロード済みドキュメントハンドルを借り受け、ネイティブの意味論的契約書比較または汎用ドキュメント比較を実行し、準備された出力をコールバック経由で受け取ります
{"schemaVersion":1,"type":"compare.contract","format":"html",
"title":"Contract review","options":{"granularity":"word",
"ignoreRepeatedHeadersFooters":true,"maxAlignmentCells":2000000},
"limits":{"memoryBytes":268435456,"resultBytes":4194304,"outputBytes":8388608}}
意味論的な契約書レポート
ネイティブアダプタは、Windows の契約書 API と同じポータブルな段落整列と差分アルゴリズムを使います。単語・文単位の変更、ページをまたぐ移動、繰り返しマージンの除外、定型文フィルタ、ページ継続も含みます
契約書レポートには comparisonComplete、identical、differenceCount、ページ数と段落数、除外、作業と整列のカウンタに加え、各変更のテキスト、コンテキスト、位置が含まれます
各位置は 0 起点のページと段落、1 起点の文字オフセット、文字数、交差する意味行を覆う PDF ユーザー空間の矩形を含みます。矩形は行のジオメトリを表します
ネイティブのグリフ抽出は、ネストした Form リソースとマトリクス、継承されたページ境界、平文と認証済み AES R5/R6 入力の抽出権限を保持します。抽出可能なテキストのないページは抽出失敗を報告し、OCR か明示的な空ページ除去が必要です
オプションと上限
options は granularity(word または sentence)、ignoreCase、ignoreRepeatedHeadersFooters、normalizeMarginDigits、joinPageContinuations、headerMarginPoints、footerMarginPoints、paragraphGapFactor、minimumParagraphSimilarity、minimumRepeatedPages、excludedLineTexts を受け付けます
明示的な正整数の上限には maxPages、maxParagraphs、maxSemanticLines、maxCharacters、maxTokens、maxDifferences、maxAlignmentCells、maxWorkUnits があり、実行前に操作メモリと結果の各予算がさらに制限します
compare は JSON 出力付きで、ページ数、ページテキスト、オブジェクト数、描画画像、構造、フルの各モードを受け付けます。利用可能なモードは comparisonModes で、契約書フォーマットは contractFormats で確認できます
format:json は結果 JSON を必須の result コールバックに加え、省略可能なバイナリコールバックにも書き込みます。format:html はバイナリコールバックを要求し、エスケープされたタイトルと契約文言を含むスタンドアロンの UTF-8 レビューを書き出します
format:pdf はバイナリ出力コールバックを要求し、side:before か side:after(既定は after)の実際の注釈付きレビューコピーを生成します。options.maxHighlights はハイライトされる意味行を制限します
ライフタイムと公開
呼び出し中は両方のハンドルを生かしておいてください。同一ハンドルの比較に対応し、逆順の並行比較は安定した順序でロックを獲得します
すべてのコールバックは呼び出しスレッド上で同期的に実行されます。リソース上限は各ロード済みドキュメントに一時的に適用され、失敗やキャンセルの経路を含めて後で元に戻されます
呼び出しは入力コールバックやファイルパスメンバを受け付けず、両方のソースドキュメントとそのリビジョンを保存します。バイナリと JSON の出力は、公開開始前に準備され上限が課されます
Pascal インターフェース
HPDFCompareHeadlessContracts は既存の THPDFContractCompareOptions とともに 2 つの THPDFHeadlessDocument オブジェクトを受け取り、THPDFContractCompareReport を返します
HPDFHeadlessContractSource がネイティブアダプタを公開します。ポータブルコア向けに、HPDFContractCompareCore の HPDFCompareContractSources はカスタムの上限付きページ数、意味ページ、可視ボックスのコールバックを受け付けます
HPDFContractCompareCore は VCL や LCL に依存せず、共有アルゴリズム、レポート型、HTML レンダラーを所有します。既存の HPDFContractCompare Windows インターフェースは、エイリアスとアダプタによって型、定数、ロード済みドキュメントのエントリポイントを維持します
THPDFHeadlessDocument.ExtractPageGlyphs と AnalyzePageSemanticText は、ExtractPageText が使うのと同じネストコンテンツウォーカを通じて、位置付きグリフと意味レイアウトを公開します
ネイティブ ABI の受け入れテストは、実際の平文、AES R5/R6、ネスト Form の比較、ロールバック、予算、ロック順序を検証します。独立した pypdf と MuPDF のリーダーが、完全な差分、正確なコンテキスト、オフセット、ソースグリフのジオメトリを確認します