function CompareWith(Other: TPdf; const Options: TPdfDocumentDiffOptions; out Report: TPdfDocumentDiffReport): Boolean;
| Other | TPdf。另一个活动文档 |
| Options | TPdfDocumentDiffOptions。字段 RenderWidth、RenderHeight、ColorTolerance、CompareText、ComparePageGeometry 和 MaxPages,并提供 Default 类函数 |
| Report | TPdfDocumentDiffReport。字段 Equivalent、Truncated、LeftPageCount、RightPageCount、ComparedPageCount、DifferentPageCount、PixelDifferenceCount 和 Differences;每个 TPdfPageDifference 携带 PageIndex、TextDifferent、GeometryDifferent、PixelDifferenceCount 和 PixelBounds |
| Result | 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 提供带资源上限的辅助算法