PDFium Delphi Component Docs

Méthode CompareWith

Composant : TPdf  ·  Unité : PDFium
Compare deux documents actifs et renvoie des preuves sémantiques, géométriques et visuelles bornées

Syntaxe

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

OtherTPdf. L’autre document actif
OptionsTPdfDocumentDiffOptions. Champs RenderWidth, RenderHeight, ColorTolerance, CompareText, ComparePageGeometry et MaxPages, avec une fonction de classe Default
ReportTPdfDocumentDiffReport. Champs Equivalent, Truncated, LeftPageCount, RightPageCount, ComparedPageCount, DifferentPageCount, PixelDifferenceCount et Differences ; chaque TPdfPageDifference porte PageIndex, TextDifferent, GeometryDifferent, PixelDifferenceCount et PixelBounds
ResultBoolean. True lorsque les documents sont équivalents selon les options sélectionnées

Description

La comparaison utilise l’extraction de texte et le rendu de PDFium au lieu d’interpréter les flux de contenu en parallèle

La géométrie inclut les dimensions et la rotation des pages ; la comparaison visuelle applique la tolérance de couleurs de l’appelant par canal et signale les limites des pixels modifiés

MaxPages borne le travail pour les documents non fiables ou très volumineux, et Truncated signale lorsque la comparaison s’est arrêtée à cette limite

La page active des deux documents est restaurée avant que la méthode ne revienne

Comparaison alignée et détaillée

Les options Default historiques comparent les pages à la même position ; mettez AlignPages à True pour détecter insertions, suppressions et déplacements exacts

L’alignement utilise le texte extrait, la géométrie et une empreinte de rendu de 64 par 64 ; l’association des doublons est déterministe ; une page déplacée et modifiée peut être signalée comme modification

PagePairs et chaque différence exposent LeftPageIndex et RightPageIndex commençant à zéro, avec -1 pour une page absente ; Kind vaut dpkMatched, dpkModified, dpkMoved, dpkInserted ou dpkDeleted

TextDiffMode sélectionne dtmNone, dtmCharacters ou dtmWords ; TextChanges indique LeftStart, LeftLength, RightStart et RightLength en UTF-16 sans séparer les paires de substituts

CollectPixelRegions ajoute des PixelRegions de tuiles connexes avec des limites Right et Bottom exclusives, tout en conservant l’union PixelBounds historique

MaxAlignmentCells, MaxTextCharacters, MaxTextDiffCells, MaxTextTokens, PixelRegionTileSize, MaxPixelRegions et MaxDetailItems bornent le travail détaillé ; DetailTruncated indique des détails incomplets indépendamment de Truncated lié à la limite de pages

Report comprend InsertedPageCount, DeletedPageCount et MovedPageCount ; chaque différence possède aussi son DetailTruncated

RenderDiffOverlay exporte une superposition visuelle appartenant à l’appelant ; FPdfDiff expose les algorithmes auxiliaires bornés

Voir aussi

RenderPage, Text, ImportImposed