function CompareWith(Other: TPdf; const Options: TPdfDocumentDiffOptions; out Report: TPdfDocumentDiffReport): Boolean;
| Other | TPdf. El otro documento activo |
| Options | TPdfDocumentDiffOptions. Campos RenderWidth, RenderHeight, ColorTolerance, CompareText, ComparePageGeometry y MaxPages, con una función de clase Default |
| Report | TPdfDocumentDiffReport. Campos Equivalent, Truncated, LeftPageCount, RightPageCount, ComparedPageCount, DifferentPageCount, PixelDifferenceCount y Differences; cada TPdfPageDifference lleva PageIndex, TextDifferent, GeometryDifferent, PixelDifferenceCount y PixelBounds |
| Result | Boolean. True cuando los documentos son equivalentes bajo las opciones seleccionadas |
La comparación usa la extracción de texto y el renderizado de PDFium en lugar de interpretar flujos de contenido en paralelo
La geometría incluye las dimensiones de la página y la rotación; la comparación visual aplica la tolerancia de color de quien llama 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 cuándo 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
Las opciones Default anteriores comparan las páginas según su posición; establezca AlignPages en True para detectar inserciones, eliminaciones y movimientos exactos de páginas
La alineación combina el texto extraído, la geometría de la página y una huella de renderizado de 64-by-64; el emparejamiento de duplicados es determinista, y una página modificada y movida a la vez puede aparecer como una modificación
PagePairs y cada diferencia exponen LeftPageIndex y RightPageIndex con índices desde cero, y -1 cuando falta una página; Kind puede ser dpkMatched, dpkModified, dpkMoved, dpkInserted o dpkDeleted
TextDiffMode selecciona dtmNone, dtmCharacters o dtmWords; TextChanges informa LeftStart, LeftLength, RightStart y RightLength en UTF-16 sin dividir pares sustitutos
CollectPixelRegions agrega PixelRegions de mosaicos conectados con límites Right y Bottom exclusivos, y conserva la unión PixelBounds de la API anterior
MaxAlignmentCells, MaxTextCharacters, MaxTextDiffCells, MaxTextTokens, PixelRegionTileSize, MaxPixelRegions y MaxDetailItems limitan el trabajo de detalle; DetailTruncated indica que el detalle está incompleto, independientemente de Truncated por el límite de páginas
Report incluye InsertedPageCount, DeletedPageCount y MovedPageCount; cada diferencia también tiene su propio DetailTruncated
RenderDiffOverlay exporta una superposición visual que queda a cargo de quien llama; FPdfDiff expone los algoritmos auxiliares con límites de trabajo