function CompareWith(Other: TPdf; const Options: TPdfDocumentDiffOptions; out Report: TPdfDocumentDiffReport): Boolean;
| Other | TPdf. Das andere aktive Dokument |
| Options | TPdfDocumentDiffOptions. Felder RenderWidth, RenderHeight, ColorTolerance, CompareText, ComparePageGeometry und MaxPages, mit einer Default-Klassenfunktion |
| Report | TPdfDocumentDiffReport. Felder Equivalent, Truncated, LeftPageCount, RightPageCount, ComparedPageCount, DifferentPageCount, PixelDifferenceCount und Differences; jeder TPdfPageDifference trägt PageIndex, TextDifferent, GeometryDifferent, PixelDifferenceCount und PixelBounds |
| Result | Boolean. True, wenn die Dokumente unter den gewählten Optionen äquivalent sind |
Der Vergleich nutzt PDFium-Textextraktion und -Rendering, statt Content-Streams parallel zu interpretieren
Die Geometrie umfasst Seitenmaße und Drehung; der visuelle Vergleich wendet die Farbtoleranz des Aufrufers pro Kanal an und meldet die Grenzen der geänderten Pixel
MaxPages begrenzt die Arbeit bei nicht vertrauenswürdigen oder sehr großen Dokumenten, und Truncated meldet, wenn der Vergleich an dieser Grenze stoppte
Die aktuelle Seite beider Dokumente wird vor der Rückkehr der Methode wiederhergestellt
Bisherige Default-Optionen vergleichen gleiche Seitenpositionen; AlignPages True erkennt Einfügungen, Löschungen und exakte Verschiebungen
Ausrichtung nutzt extrahierten Text, Seitengeometrie und einen 64-mal-64-Renderfingerprint; doppelte Seiten werden deterministisch gepaart; gleichzeitig verschobene und geänderte Seiten können als Änderungen erscheinen
PagePairs und jede Differenz liefern nullbasierte LeftPageIndex und RightPageIndex, -1 für fehlende Seiten; Kind ist dpkMatched, dpkModified, dpkMoved, dpkInserted oder dpkDeleted
TextDiffMode wählt dtmNone, dtmCharacters oder dtmWords; TextChanges liefert UTF-16-LeftStart, LeftLength, RightStart und RightLength ohne Trennung von Surrogatpaaren
CollectPixelRegions ergänzt zusammenhängende Kachel-PixelRegions mit exklusiven Right- und Bottom-Grenzen, während die bisherige PixelBounds-Vereinigung erhalten bleibt
MaxAlignmentCells, MaxTextCharacters, MaxTextDiffCells, MaxTextTokens, PixelRegionTileSize, MaxPixelRegions und MaxDetailItems begrenzen Detailarbeit; DetailTruncated meldet unvollständige Details unabhängig von seitenbegrenztem Truncated
Report enthält InsertedPageCount, DeletedPageCount und MovedPageCount; jede Differenz hat zudem eigenes DetailTruncated
RenderDiffOverlay exportiert ein dem Aufrufer gehörendes Overlay; FPdfDiff stellt die begrenzten Helperalgorithmen bereit