PDFium Delphi Component Docs

CompareWith 方法

元件: TPdf  ·  單元: PDFium
比較兩份使用中的文件,傳回有界的語意、幾何與視覺證據

語法

function CompareWith(Other: TPdf; const Options: TPdfDocumentDiffOptions; out Report: TPdfDocumentDiffReport): Boolean;

OtherTPdf。另一份使用中的文件
選項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 提供有資源上限的輔助演算法

另請參閱

RenderPage, Text, ImportImposed