THotPDF.PrepareLoadedFormDataRevisionToStream
Prepara una revisión privada del grafo cargado real sin cambiar el documento original
Declaración
procedure PrepareLoadedFormDataRevisionToStream(Destination: TStream;
const Password: AnsiString; MaxWorkingBytes, MaxOutputBytes: Int64;
MaxObjects: Integer; Checkpoint: TNotifyEvent = nil;
OriginalSource: TStream = nil);
Comportamiento
El método copia la revisión original a un archivo privado creado en exclusiva, carga un documento incremental separado, compara los grafos de objetos semánticos por número de objeto y generación, clona los cambios pendientes reales y escribe el candidato resultante en la posición actual del destino
Los valores de texto, las apariencias existentes, los cambios pendientes de catálogo no relacionados, las referencias indirectas, los contenidos de streams y los nuevos objetos del grafo participan en la preparación; los nombres PDF se decodifican una vez y los nombres de diccionario semánticos duplicados son inválidos
Un grafo sin cambios copia los bytes originales exactos sin agregar una sección incremental vacía de referencias cruzadas; los grafos cambiados conservan el prefijo de bytes original completo y agregan su revisión actual
Las revisiones cifradas conservan su diccionario de cifrado y su llave originales; Password debe autenticar la revisión original y se suministra como bytes UTF-8
OriginalSource, cuando se suministra, debe ser la revisión original completa e inmutable desde la que se cargó este documento, incluidos el ciphertext y los bytes firmados; su posición se restaura en éxito y en fallo
Sin OriginalSource, el método usa CopyLoadedSourceToStream; eso no convierte un source prestado y mutable externamente en una instantánea inmutable, así que los llamadores deben preservar sus bytes cargados exactos
MaxWorkingBytes debe ser al menos 1 MiB; MaxOutputBytes y MaxObjects deben ser positivos; la copia del source, la comparación de objetos, los datos de clones residentes y derramados y la longitud de salida tienen límites finitos
OperationCancellationToken y Checkpoint se consultan durante la copia y la comparación; la copia usa bloques de como máximo 64 KiB; una preparación fallida puede dejar bytes parciales en el destino, que el llamador debe descartar
Este método de bajo nivel prepara una revisión del grafo y no autoriza cambios pendientes bajo DocMDP o FieldMDP; usa THPDFWindowsFormDataTransaction para autenticar la política de firmas antes de publicar actualizaciones de formulario
El grafo THotPDF original, la propiedad del source, los cambios pendientes y los ajustes permanecen intactos cuando la preparación tiene éxito o falla; los archivos temporales se cierran y eliminan cuando el método sale
Temas relacionados
CopyLoadedSourceToStream, THPDFWindowsFormDataTransaction, Intercambio FDF/XFDF de Windows