PDFium Component Docs

CompareWith Metoda

Component: TPdf  ·  Unit: PDFium
Porównuje dwa aktywne dokumenty i zwraca ograniczone budżetem dowody semantyczne, geometryczne i wizualne

Syntax

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

OtherTPdf. Drugi aktywny dokument
OptionsTPdfDocumentDiffOptions. Pola RenderWidth, RenderHeight, ColorTolerance, CompareText, ComparePageGeometry i MaxPages oraz funkcja klasowa Default
ReportTPdfDocumentDiffReport. Pola Equivalent, Truncated, LeftPageCount, RightPageCount, ComparedPageCount, DifferentPageCount, PixelDifferenceCount i Differences; każdy TPdfPageDifference przenosi PageIndex, TextDifferent, GeometryDifferent, PixelDifferenceCount i PixelBounds
ResultBoolean. True, gdy dokumenty są równoważne przy wybranych opcjach

Description

Porównanie używa ekstrakcji tekstu i renderowania PDFium zamiast równoległej interpretacji strumieni treści

Geometria obejmuje wymiary stron i obrót; porównanie wizualne stosuje tolerancję kolorów per kanał podaną przez wywołującego i raportuje granice zmienionych pikseli

MaxPages ogranicza pracę dla niezaufanych lub bardzo dużych dokumentów, a Truncated raportuje zatrzymanie porównania na tym limicie

Bieżąca strona obu dokumentów jest przywracana przed zakończeniu metody

Aligned and detailed comparison

Starsze domyślne opcje porównują odpowiadające sobie pozycje stron; ustaw AlignPages na True, aby rozpoznać wstawienia, usunięcia i dokładne przeniesienia stron

Wyrównanie używa wyodrębnionego tekstu, geometrii stron i odcisku renderowania 64 na 64; parowanie duplikatów jest deterministyczne, a strony jednocześnie zmienione i przeniesione mogą być zgłoszone jako modyfikacje

PagePairs i każda różnica ujawniają zerowo bazowane LeftPageIndex i RightPageIndex z -1 dla brakującej strony; Kind to dpkMatched, dpkModified, dpkMoved, dpkInserted lub dpkDeleted

TextDiffMode wybiera dtmNone, dtmCharacters lub dtmWords; TextChanges raportuje UTF-16 LeftStart, LeftLength, RightStart i RightLength bez rozdzielania par zastępczych

CollectPixelRegions dodaje połączone kafelkowe PixelRegions z wyłącznymi granicami Right i Bottom, zachowując zarazem starszą sumę PixelBounds

MaxAlignmentCells, MaxTextCharacters, MaxTextDiffCells, MaxTextTokens, PixelRegionTileSize, MaxPixelRegions i MaxDetailItems ograniczają pracę nad szczegółami; DetailTruncated wskazuje niekompletne szczegóły niezależnie od ograniczenia stron Truncated

Report obejmuje InsertedPageCount, DeletedPageCount i MovedPageCount; każda różnica niesie też własne DetailTruncated

RenderDiffOverlay eksportuje należącą do wywołującego nakładkę wizualną; FPdfDiff udostępnia ograniczone algorytmy pomocnicze

See Also

RenderPage, Text, ImportImposed