THotPDF.PrepareLoadedFormDataRevisionToStream

Prepara una revisione privata del vero grafo caricato senza cambiare il documento originale

Dichiarazione

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

Comportamento

Il metodo copia la revisione originale in un file privato creato in esclusiva, carica un documento incrementale separato, confronta i grafi di oggetti semantici per numero e generazione di oggetto, clona le vere modifiche pending e scrive il candidato risultante alla posizione corrente di destinazione

Valori testo, appearance esistenti, modifiche catalog pending non correlate, riferimenti indiretti, contenuti degli stream e nuovi oggetti del grafo partecipano alla preparazione; i nomi PDF sono decodificati una sola volta e i nomi semantici duplicati dei dizionari non sono validi

Un grafo invariato copia gli esatti byte originali senza aggiungere una sezione cross-reference incrementale vuota; i grafi modificati conservano il prefisso di byte originale completo e accodano la loro revisione corrente

Le revisioni cifrate conservano il loro dizionario di cifratura e chiave originali; Password deve autenticare la revisione originale ed è fornita come byte UTF-8

OriginalSource, quando fornito, deve essere la revisione originale immutabile completa da cui questo documento è stato caricato, ciphertext e byte firmati inclusi; la sua posizione viene ripristinata su successo e fallimento

Senza OriginalSource, il metodo usa CopyLoadedSourceToStream; questo non trasforma una sorgente presa in prestito mutabile dall'esterno in uno snapshot immutabile, quindi i chiamanti devono preservarne gli esatti byte caricati

MaxWorkingBytes deve essere almeno 1 MiB; MaxOutputBytes e MaxObjects devono essere positivi; copia della sorgente, confronto di oggetti, dati clone residenti e spilled e lunghezza dell'output hanno limiti finiti

OperationCancellationToken e Checkpoint sono interrogati durante copia e confronto; la copia usa blocchi non superiori a 64 KiB; una preparazione fallita può lasciare byte parziali nella destinazione, che il chiamante deve scartare

Questo metodo di basso livello prepara una revisione del grafo e non autorizza modifiche pending sotto DocMDP o FieldMDP; usa THPDFWindowsFormDataTransaction per autenticare la policy di firma prima di pubblicare aggiornamenti dei moduli

Il grafo THotPDF originale, proprietà della sorgente, modifiche pending e impostazioni restano intatti quando la preparazione riesce o fallisce; i file temporanei sono chiusi e rimossi all'uscita del metodo

Argomenti correlati

CopyLoadedSourceToStream, THPDFWindowsFormDataTransaction, Scambio FDF/XFDF Windows