function CompareWith(Other: TPdf; const Options: TPdfDocumentDiffOptions; out Report: TPdfDocumentDiffReport): Boolean;
| Other | TPdf. O outro documento ativo |
| Options | TPdfDocumentDiffOptions. Campos RenderWidth, RenderHeight, ColorTolerance, CompareText, ComparePageGeometry e MaxPages, com uma função de classe Default |
| Report | TPdfDocumentDiffReport. Campos Equivalent, Truncated, LeftPageCount, RightPageCount, ComparedPageCount, DifferentPageCount, PixelDifferenceCount e Differences; cada TPdfPageDifference carrega PageIndex, TextDifferent, GeometryDifferent, PixelDifferenceCount e PixelBounds |
| Result | Boolean. True quando os documentos são equivalentes sob as opções selecionadas |
A comparação usa extração de texto e renderização do PDFium em vez de interpretar fluxos de conteúdo em paralelo
A geometria inclui dimensões e rotação da página; a comparação visual aplica a tolerância de cor do chamador por canal e relata os limites dos pixels alterados
MaxPages limita o trabalho para documentos não confiáveis ou muito grandes, e Truncated relata quando a comparação parou nesse limite
A página atual de ambos os documentos é restaurada antes que o método retorne
Opções Default legadas comparam posições de página correspondentes; defina AlignPages como True para identificar inserções, exclusões e movimentações exatas de páginas
O alinhamento usa texto extraído, geometria de página e uma impressão digital de renderização 64 por 64; o pareamento de duplicatas é determinístico, e páginas modificadas e movidas ao mesmo tempo podem ser relatadas como modificações
PagePairs e cada diferença expõem LeftPageIndex e RightPageIndex baseados em zero, com -1 para uma página ausente; Kind é dpkMatched, dpkModified, dpkMoved, dpkInserted ou dpkDeleted
TextDiffMode seleciona dtmNone, dtmCharacters ou dtmWords; TextChanges relata LeftStart, LeftLength, RightStart e RightLength em UTF-16 sem dividir pares substitutos
CollectPixelRegions adiciona PixelRegions de ladrilho conectadas com limites Right e Bottom exclusivos, preservando a união legada PixelBounds
MaxAlignmentCells, MaxTextCharacters, MaxTextDiffCells, MaxTextTokens, PixelRegionTileSize, MaxPixelRegions e MaxDetailItems limitam o trabalho de detalhe; DetailTruncated indica detalhe incompleto independentemente do Truncated do limite de páginas
O Report inclui InsertedPageCount, DeletedPageCount e MovedPageCount; cada diferença também carrega seu próprio DetailTruncated
RenderDiffOverlay exporta uma sobreposição visual de propriedade de quem chama; FPdfDiff expõe os algoritmos auxiliares delimitados