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 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
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