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 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 de catálogo pendientes no relacionados, las referencias indirectas, los contenidos de streams y los objetos nuevos 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 añadir una sección de referencia cruzada incremental vacía; los grafos cambiados conservan el prefijo de bytes original completo y añaden su revisión actual
Las revisiones cifradas conservan su diccionario de cifrado y clave 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 de 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 origen prestado mutable externamente en una instantánea inmutable, así que los llamantes deben preservar sus bytes cargados exactos
MaxWorkingBytes debe ser de al menos 1 MiB; MaxOutputBytes y MaxObjects deben ser positivos; la copia del origen, 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 llamante debe descartar
Este método de bajo nivel prepara una revisión del grafo y no autoriza cambios pendientes bajo DocMDP ni FieldMDP; usa THPDFWindowsFormDataTransaction para autenticar la política de firmas antes de publicar actualizaciones de formularios
El grafo THotPDF original, la propiedad del origen, los cambios pendientes y los ajustes permanecen intactos cuando la preparación tiene éxito o falla; los archivos temporales se cierran y se eliminan cuando el método sale
Temas relacionados
CopyLoadedSourceToStream, THPDFWindowsFormDataTransaction, Intercambio FDF/XFDF de Windows