PDFium Delphi Component Docs

Método CompareWith

Componente: TPdf  ·  Unidad: PDFium
Compara dos documentos activos y devuelve evidencia semántica, geométrica y visual acotada

Sintaxis

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

OtherTPdf. El otro documento activo
OptionsTPdfDocumentDiffOptions. Campos RenderWidth, RenderHeight, ColorTolerance, CompareText, ComparePageGeometry y MaxPages, con una función de clase Default
ReportTPdfDocumentDiffReport. Campos Equivalent, Truncated, LeftPageCount, RightPageCount, ComparedPageCount, DifferentPageCount, PixelDifferenceCount y Differences; cada TPdfPageDifference lleva PageIndex, TextDifferent, GeometryDifferent, PixelDifferenceCount y PixelBounds
ResultBoolean. True cuando los documentos son equivalentes bajo las opciones seleccionadas

Descripción

La comparación usa la extracción de texto y la renderización de PDFium en lugar de interpretar los flujos de contenido en paralelo

La geometría incluye las dimensiones de página y la rotación; la comparación visual aplica la tolerancia de color del llamador por canal e informa los límites de los píxeles modificados

MaxPages acota el trabajo para documentos que no son de confianza o muy grandes, y Truncated informa cuando la comparación se detuvo en ese límite

La página actual de ambos documentos se restaura antes de que el método devuelva

Comparación alineada y detallada

Las opciones Default originales comparan páginas en posiciones correspondientes; active AlignPages con True para identificar inserciones, eliminaciones y movimientos exactos de páginas

La alineación usa texto extraído, geometría de página y una huella de renderizado de 64 por 64; el emparejamiento de duplicados es determinista, y una página modificada y movida a la vez puede aparecer como modificación

PagePairs y cada diferencia exponen LeftPageIndex y RightPageIndex con base cero, con -1 para una página ausente; Kind es dpkMatched, dpkModified, dpkMoved, dpkInserted o dpkDeleted

TextDiffMode selecciona dtmNone, dtmCharacters o dtmWords; TextChanges informa de LeftStart, LeftLength, RightStart y RightLength en UTF-16 sin dividir pares sustitutos

CollectPixelRegions añade PixelRegions de teselas conectadas con límites Right y Bottom exclusivos y conserva la unión PixelBounds original

MaxAlignmentCells, MaxTextCharacters, MaxTextDiffCells, MaxTextTokens, PixelRegionTileSize, MaxPixelRegions y MaxDetailItems acotan el trabajo de detalle; DetailTruncated indica detalle incompleto con independencia del Truncated correspondiente al límite de páginas

Report incluye InsertedPageCount, DeletedPageCount y MovedPageCount; cada diferencia también lleva su propio DetailTruncated

RenderDiffOverlay exporta una superposición visual propiedad del llamador; FPdfDiff expone los algoritmos auxiliares acotados

Véase también

RenderPage, Text, ImportImposed