PDFium Delphi Component Docs

Méthode CommitIncrementalSave

Composant : TPdf  ·  Unité : PDFium
Ajoute les modifications effectuées depuis la dernière validation sous forme d’une nouvelle révision PDF

Syntaxe

function CommitIncrementalSave(Stream: TStream; out Info: TPdfIncrementalCommitInfo): Boolean;

StreamDestination du document complet, incluant la ligne de base et chaque révision ajoutée jusqu’ici ; nil lève EPdfError
InfoLe TPdfIncrementalCommitInfo reçoit les comptages d’objets et d’octets, les décalages xref antérieur et nouveau, le nombre de révisions, l’état de chiffrement et de validation, ainsi que les résultats de durabilité du fichier
ResultTrue lorsque la sortie complète validée a été écrite

 

function CommitIncrementalSave(const FileName: string; out Info: TPdfIncrementalCommitInfo): Boolean;

FileNameFichier de destination, remplacé atomiquement via un fichier auxiliaire durable dans le même répertoire
InfoLe même rapport TPdfIncrementalCommitInfo que la surcharge flux, avec Durable et ReplacedAtomically définis après le succès de ces étapes de fichier
ResultTrue lorsque le fichier auxiliaire validé a remplacé la destination

Description

Compare le document vivant à l’état capturé lors de la dernière validation, ou à la ligne de base pour la première, et ajoute les objets modifiés plus une nouvelle section de références croisées. Les octets antérieurs ne sont jamais réécrits, de sorte que chaque révision précédente reste identique octet par octet et récupérable

AppendedByteCount est la taille de la seule nouvelle révision, tandis que PreviousOutputByteCount et OutputByteCount délimitent le préfixe immuable et le résultat complet. PreviousXrefOffset et OutputXrefOffset identifient la chaîne de révisions, et ChangedObjectCount indique combien d’objets la comparaison a trouvés

Chaque candidat passe des vérifications éparses de frontières de révisions, une réouverture indépendante stricte, des vérifications du nombre de pages et du gestionnaire de sécurité, ainsi qu’une validation PDF MAC lorsqu’elle est présente. Encrypted et Validated signalent ces propriétés

La surcharge fichier écrit à côté de la cible, synchronise le fichier temporaire, le ferme et le rouvre, répète la validation puis effectue un remplacement atomique ; Windows demande un remplacement write-through ; Unix vérifie la synchronisation des répertoires avant remplacement et synchronise le répertoire parent après renommage

Un échec avant remplacement laisse la cible intacte et restaure la base et le nombre de révisions de la session ; sous Unix, une synchronisation du répertoire échouée après renommage réussi lève EPdfOutputCommitError de l’unité interne FPdfPlatform : la sortie est déjà remplacée, Info.ReplacedAtomically=True et Info.Durable=False ; la session conserve la base validée pour éviter qu’une modification ultérieure s’ajoute à une sortie obsolète

Durable indique que les étapes de synchronisation demandées à la plateforme ont réussi ; il ne certifie ni le matériel de stockage ni le comportement du système de fichiers après perte d’alimentation ; les autres API utilisant le même remplacement peuvent aussi lever cette exception après remplacement ; distinguez ce stade des échecs préservant l’ancienne sortie

Appeler sans session ouverte lève EPdfError ; BeginIncrementalSave doit donc venir en premier

Voir aussi

BeginIncrementalSave, EndIncrementalSave, IncrementalSaveActive, SaveAs