PDFium Delphi Component Docs

CompareWith-metod

Component: TPdf  ·  Unit: PDFium
Jämför två aktiva dokument och returnerar avgränsade semantiska, geometriska och visuella bevis

Syntax

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

OtherTPdf. Det andra aktiva dokumentet
OptionsTPdfDocumentDiffOptions. Fälten RenderWidth, RenderHeight, ColorTolerance, CompareText, ComparePageGeometry och MaxPages, med en klassfunktion Default
ReportTPdfDocumentDiffReport. Fälten Equivalent, Truncated, LeftPageCount, RightPageCount, ComparedPageCount, DifferentPageCount, PixelDifferenceCount och Differences; varje TPdfPageDifference bär PageIndex, TextDifferent, GeometryDifferent, PixelDifferenceCount och PixelBounds
ResultBoolean. True när dokumenten är likvärdiga under de valda alternativen

Description

Jämförelsen använder PDFium-textextraktion och rendering i stället för att tolka innehållsströmmarna parallellt

Geometrin omfattar sidmått och rotation; den visuella jämförelsen tillämpar anroparens färgtolerans per kanal och rapporterar gränserna för de ändrade pixlarna

MaxPages avgränsar arbetet för obetrodda eller mycket stora dokument, och Truncated rapporterar när jämförelsen stannade vid den gränsen

Båda dokumentens aktuella sida återställs innan metoden returnerar

Jämförelse med sidjustering och detaljer

Standardalternativen i Legacy jämför motsvarande sidpositioner; sätt AlignPages till True för att identifiera infogningar, borttagningar och exakta sidflyttar

Justeringen använder extraherad text, sidgeometri och ett renderingsavtryck på 64 gånger 64; parkopplingen av dubbletter är deterministisk, och sidor som ändrats och flyttats samtidigt kan rapporteras som ändringar

PagePairs och varje skillnad exponerar nollbaserade LeftPageIndex och RightPageIndex, med -1 för en saknad sida; Kind är dpkMatched, dpkModified, dpkMoved, dpkInserted eller dpkDeleted

TextDiffMode väljer dtmNone, dtmCharacters eller dtmWords; TextChanges rapporterar UTF-16 LeftStart, LeftLength, RightStart och RightLength utan att dela surrogatpar

CollectPixelRegions lägger till sammanhängande tile-PixelRegions med exklusiva Right- och Bottom-gränser samtidigt som den äldre PixelBounds-unionen bevaras

MaxAlignmentCells, MaxTextCharacters, MaxTextDiffCells, MaxTextTokens, PixelRegionTileSize, MaxPixelRegions och MaxDetailItems avgränsar detaljarbetet; DetailTruncated anger ofullständig detalj oberoende av sidgränsen Truncated

Rapporten innehåller InsertedPageCount, DeletedPageCount och MovedPageCount; varje skillnad bär också sin egen DetailTruncated

RenderDiffOverlay exporterar en anroparägd visuell överlagring; FPdfDiff exponerar de avgränsade hjälpalgoritmerna

See Also

RenderPage, Text, ImportImposed