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