PDFium Delphi Component Docs

Metodo CompareWith

Componente: TPdf  ·  Unità: PDFium
Confronta due documenti attivi e restituisce evidenza semantica, geometrica e visiva delimitata

Sintassi

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

OtherTPdf. L'altro documento attivo
OptionsTPdfDocumentDiffOptions. Campi RenderWidth, RenderHeight, ColorTolerance, CompareText, ComparePageGeometry e MaxPages, con una funzione di classe Default
ReportTPdfDocumentDiffReport. Campi Equivalent, Truncated, LeftPageCount, RightPageCount, ComparedPageCount, DifferentPageCount, PixelDifferenceCount e Differences; ogni TPdfPageDifference contiene PageIndex, TextDifferent, GeometryDifferent, PixelDifferenceCount e PixelBounds
ResultBoolean. True quando i documenti sono equivalenti secondo le opzioni selezionate

Descrizione

Il confronto usa l'estrazione del testo e il rendering di PDFium invece di interpretare i content stream in parallelo

La geometria comprende le dimensioni di pagina e la rotazione; il confronto visivo applica la tolleranza colore del chiamante per canale e riporta i limiti dei pixel modificati

MaxPages limita il lavoro per documenti non attendibili o molto grandi, mentre Truncated segnala quando il confronto si è interrotto a quel limite

La pagina corrente di entrambi i documenti viene ripristinata prima che il metodo restituisca

Confronto allineato e dettagliato

Le opzioni Default storiche confrontano pagine nella stessa posizione; impostare AlignPages a True per identificare inserimenti, eliminazioni e spostamenti esatti

L'allineamento usa testo estratto, geometria di pagina e un'impronta di rendering 64-by-64; l'abbinamento dei duplicati è deterministico e pagine modificate e spostate insieme possono essere segnalate come modifiche

PagePairs e ogni differenza espongono LeftPageIndex e RightPageIndex a base zero, con -1 per una pagina mancante; Kind è dpkMatched, dpkModified, dpkMoved, dpkInserted o dpkDeleted

TextDiffMode seleziona dtmNone, dtmCharacters o dtmWords; TextChanges segnala LeftStart, LeftLength, RightStart e RightLength UTF-16 senza dividere coppie surrogate

CollectPixelRegions aggiunge PixelRegions di tile connessi, con Right e Bottom esclusi, mantenendo l'unione storica PixelBounds

MaxAlignmentCells, MaxTextCharacters, MaxTextDiffCells, MaxTextTokens, PixelRegionTileSize, MaxPixelRegions e MaxDetailItems limitano il lavoro di dettaglio; DetailTruncated segnala dettaglio incompleto indipendentemente da Truncated del limite pagine

Il report include InsertedPageCount, DeletedPageCount e MovedPageCount; ogni differenza ha anche il proprio DetailTruncated

RenderDiffOverlay esporta un overlay visivo di proprietà del chiamante; FPdfDiff espone gli algoritmi helper con limiti di risorse

Vedi anche

RenderPage, Text, ImportImposed