function CompareWith(Other: TPdf; const Options: TPdfDocumentDiffOptions; out Report: TPdfDocumentDiffReport): Boolean;
| Other | TPdf。另一份使用中的文件 |
| 選項 | TPdfDocumentDiffOptions。欄位 RenderWidth、RenderHeight、ColorTolerance、CompareText、ComparePageGeometry 與 MaxPages,並附有 Default 類別函式 |
| 報告 | TPdfDocumentDiffReport。欄位 Equivalent、Truncated、LeftPageCount、RightPageCount、ComparedPageCount、DifferentPageCount、PixelDifferenceCount 與 Differences;每個 TPdfPageDifference 攜帶 PageIndex、TextDifferent、GeometryDifferent、PixelDifferenceCount 與 PixelBounds |
| 結果 | Boolean。在所選選項下兩份文件等價時為 True |
比較使用 PDFium 文字擷取與算繪,而不是平行解讀內容串流
幾何包含頁面尺寸與旋轉;視覺比較對每個色版套用呼叫端指定的顏色容許度,並回報變更像素的邊界
MaxPages 為不受信任或非常大的文件限定工作量,比較在該上限停止時 Truncated 會回報
方法傳回之前會還原兩份文件的目前頁面
舊版 Default 選項比較相同位置的頁面;將 AlignPages 設為 True,可辨識插入、刪除及完全相符的頁面移動
對齊使用擷取文字、頁面幾何與 64-by-64 繪製指紋;重複頁面的配對可重現,同時修改與移動的頁面可能回報為修改
PagePairs 與每筆差異提供從零起算的 LeftPageIndex 及 RightPageIndex,缺頁為 -1;Kind 為 dpkMatched、dpkModified、dpkMoved、dpkInserted 或 dpkDeleted
TextDiffMode 選擇 dtmNone、dtmCharacters 或 dtmWords;TextChanges 回報 UTF-16 LeftStart、LeftLength、RightStart 與 RightLength,不拆開代理字元對
CollectPixelRegions 加入連通方塊的 PixelRegions,Right 與 Bottom 邊界不包含在內,同時保留舊有 PixelBounds 聯集
MaxAlignmentCells、MaxTextCharacters、MaxTextDiffCells、MaxTextTokens、PixelRegionTileSize、MaxPixelRegions 及 MaxDetailItems 限制詳細處理;DetailTruncated 表示詳細資料不完整,與頁數上限的 Truncated 分開回報
Report 包含 InsertedPageCount、DeletedPageCount 與 MovedPageCount;每筆差異也各有 DetailTruncated
RenderDiffOverlay 匯出由呼叫端擁有的視覺疊圖;FPdfDiff 提供有資源上限的輔助演算法