|
THotPDF.SaveIncrementalUpdate
|
Previous Methods THotPDF |
|
Escribe una revisión incremental dispersa conservando cada byte original del fuente
Sintaxis Delphi: procedure SaveIncrementalUpdate(const TargetFile: TFileName);
Sintaxis C++: void __fastcall SaveIncrementalUpdate(System::Sysutils::TFileName TargetFile);
Sobrecarga acotada
Un MaxOutputBytes positivo exige BeginIncrementalUpdate y acota el prefijo original completo más el delta añadido; los límites negativos no son válidos, mientras que cero conserva el comportamiento legacy sin acotar La sobrecarga con límite positivo vuelca su delta a almacenamiento temporal y lanza EHPDFIncrementalOutputBudget antes de la publicación cuando la serialización supera el techo, preservando un destino existente en esa ruta de fallo Checkpoint recibe el documento durante el recorrido de objetos y las copias de publicación, y el spool interno durante las escrituras; no dependa de un tipo Sender concreto Este guardado de bajo nivel no es una API de reemplazo atómico para un destino distinto; la cancelación o un fallo de E/S durante la publicación pueden dejar un archivo parcial, así que use un candidato privado o el trabajo validado de firma incremental para la publicación externa atómica Descripción SaveIncrementalUpdate completa el flujo iniciado por BeginIncrementalUpdate. Solo se visitan y emiten los objetos modificados, nuevos y eliminados, junto con subsecciones xref dispersas y un trailer cuyo Para un destino distinto, el prefijo original se copia secuencialmente desde el fuente respaldado por archivo antes de añadir el delta completado. Para el mismo destino, HotPDF valida la identidad, la longitud y la hora de escritura del fuente, libera los manejadores perezosos del fuente, añade directamente, vacía el archivo y trunca de vuelta a la longitud original si la adición falla. Ambas rutas preservan los rangos de bytes existentes y las firmas anteriores
Cuando ningún objeto está sucio o eliminado, el destino es idéntico byte a byte al fuente y no se añade ninguna sección xref, trailer, salto de línea ni marcador EOF. Cuando se requiere una revisión, el primer ID del trailer permanece estable y solo rota el segundo ID de modificación Para un fuente cifrado, el trailer añadido preserva la representación Una adición al mismo destino con éxito consume el fuente retenido porque la revisión original cambió in situ. Vuelva a llamar a BeginIncrementalUpdate antes de crear otra revisión. GetIncrementalUpdateSourceInfo expone los bytes retenidos, los bytes de sonda, los recuentos de copias y adiciones, los cambios rastreados, los objetos visitados, las entradas xref, el bloqueo y el estado de consumo Las ediciones destructivas reconstruyen automáticamente la cadena completa activa de objetos libres. Las generaciones libres existentes se conservan, las generaciones recién liberadas avanzan hasta 65535, los objetos reescritos conservan sus generaciones originales y cada entrada emitida se ordena por número de objeto. GetLastIncrementalXRefRebuildInfo devuelve los recuentos de fuente, transición, saturación y cadena reconstruida tras el guardado Llame a este método antes de preparar o insertar una nueva firma cuando añada una revisión de firma posterior. Una vez que existe el archivo adjuntado, use los helpers de firma normales para reservar y rellenar el nuevo valor de firma Para documentos certificados o con derechos de uso, SaveIncrementalUpdateAuthenticated escribe un candidato en el mismo directorio, autentica cada firma con política, exige cada revisión posterior y sustituye atómicamente el destino solo después de que todas las políticas acepten la actualización
Véase también: BeginIncrementalUpdate, MarkDirty, SaveIncrementalUpdateAuthenticated, GetIncrementalUpdateSourceInfo, GetLastIncrementalXRefRebuildInfo, Soporte AcroForm, PDF Filter Support |