THotPDF.PrepareLoadedFormDataRevisionToStream

Prépare une révision privée du graphe réellement chargé sans changer le document d'origine

Déclaration

procedure PrepareLoadedFormDataRevisionToStream(Destination: TStream;
  const Password: AnsiString; MaxWorkingBytes, MaxOutputBytes: Int64;
  MaxObjects: Integer; Checkpoint: TNotifyEvent = nil;
  OriginalSource: TStream = nil);

Comportement

La méthode copie la révision d'origine vers un fichier privé créé en exclusivité, charge un document incrémental séparé, compare les graphes d'objets sémantiques par numéro d'objet et génération, clone les changements en attente réels, et écrit le candidat résultant à la position de destination courante

Les valeurs texte, apparences existantes, changements de catalog en attente non liés, références indirectes, contenus de streams et nouveaux objets du graphe participent à la préparation ; les noms PDF sont décodés une fois et les noms de dictionnaires sémantiques dupliqués sont invalides

Un graphe inchangé copie les octets d'origine exacts sans ajouter une section de références croisées incrémentale vide ; les graphes modifiés conservent le préfixe d'octets d'origine complet et ajoutent leur révision courante

Les révisions chiffrées conservent leur dictionnaire de chiffrement et clé d'origine ; Password doit authentifier la révision d'origine et est fourni en octets UTF-8

OriginalSource, quand il est fourni, doit être la révision d'origine immuable complète depuis laquelle ce document a été chargé, y compris ciphertext et octets signés ; sa position est restaurée en cas de succès comme d'échec

Sans OriginalSource, la méthode utilise CopyLoadedSourceToStream ; cela ne transforme pas une source empruntée mutable de l'extérieur en snapshot immuable, donc les appelants doivent préserver ses octets chargés exacts

MaxWorkingBytes doit valoir au moins 1 Mio ; MaxOutputBytes et MaxObjects doivent être positifs ; la copie de source, la comparaison d'objets, les données de clones résidentes et spillées, et la longueur de sortie ont des bornes finies

OperationCancellationToken et Checkpoint sont sondés pendant la copie et la comparaison ; la copie utilise des blocs d'au plus 64 Kio ; une préparation échouée peut laisser des octets partiels dans la destination, que l'appelant doit rejeter

Cette méthode bas niveau prépare une révision de graphe et n'autorise pas les changements en attente sous DocMDP ou FieldMDP ; utilisez THPDFWindowsFormDataTransaction pour authentifier la politique de signature avant de publier des mises à jour de formulaires

Le graphe THotPDF d'origine, la propriété de la source, les changements en attente et les réglages restent intacts que la préparation réussisse ou échoue ; les fichiers temporaires sont fermés et supprimés à la sortie de la méthode

Sujets associés

CopyLoadedSourceToStream, THPDFWindowsFormDataTransaction, Échange FDF/XFDF Windows