function CompareWith(Other: TPdf; const Options: TPdfDocumentDiffOptions; out Report: TPdfDocumentDiffReport): Boolean;
| Other | TPdf. L’autre document actif |
| Options | TPdfDocumentDiffOptions. Champs RenderWidth, RenderHeight, ColorTolerance, CompareText, ComparePageGeometry et MaxPages, avec une fonction de classe Default |
| Report | TPdfDocumentDiffReport. Champs Equivalent, Truncated, LeftPageCount, RightPageCount, ComparedPageCount, DifferentPageCount, PixelDifferenceCount et Differences ; chaque TPdfPageDifference porte PageIndex, TextDifferent, GeometryDifferent, PixelDifferenceCount et PixelBounds |
| Result | Boolean. True lorsque les documents sont équivalents selon les options sélectionnées |
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
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