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