PDFium Delphi Component Docs

CompareWith Método

Componente: TPdf  ·  Unidade: PDFium
Compara dois documentos ativos e retorna evidências semânticas, geométricas e visuais limitadas

Syntax

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

OtherTPdf. O outro documento ativo
OptionsTPdfDocumentDiffOptions. Campos RenderWidth, RenderHeight, ColorTolerance, CompareText, ComparePageGeometry e MaxPages, com uma função de classe Default
ReportTPdfDocumentDiffReport. Campos Equivalent, Truncated, LeftPageCount, RightPageCount, ComparedPageCount, DifferentPageCount, PixelDifferenceCount e Differences; cada TPdfPageDifference carrega PageIndex, TextDifferent, GeometryDifferent, PixelDifferenceCount e PixelBounds
ResultBoolean. True quando os documentos são equivalentes sob as opções selecionadas

Description

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

Comparação alinhada e detalhada

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

See Also

RenderPage, Text, ImportImposed