Round Trip JSON del Grafo di Oggetti Versionato

HotPDF può streammare un grafo completo di oggetti indiretti caricati verso JSON versionato e ricostruire un documento modificabile senza appiattire i valori PDF in una job description

Schema e compatibilità

Lo schema attuale HotPDF-object-graph-2 registra schemaVersion, minimumReaderVersion, versione PDF, riferimenti trailer Root e Info, ogni oggetto indiretto selezionato, identificatori degli oggetti eliminati e il tipo snapshot o incrementale

I reader accettano il formato precedente HotPDF-object-graph-1 per compatibilità e rifiutano versioni di schema future o incompatibili prima di modificare il documento di destinazione

Usa la stream API v2 per i round trip di editing, perché v2 registra se il payload di ogni stream è dati filtrati raw o dati decodificati

Streaming e payload binari

ExportLoadedObjectGraphJSONToStream scrive oggetti e valori PDF ordinati ricorsivamente direttamente sullo stream di destinazione, senza costruire una stringa JSON grande quanto il documento

I byte degli stream raw o decodificati possono essere omessi, incorporati come base64 a chunk o scritti come file sidecar nella directory fornita

I nomi dei sidecar sono leaf name sicuri, la pubblicazione usa un file temporaneo sibling seguito da rimpiazzo atomico, e l'import rifiuta percorsi di traversal o assoluti

L'importer legge blocchi di input a dimensione fissa e materializza solo una entry di oggetto top-level alla volta, applicando limiti su byte JSON, conteggio e numero di oggetti, profondità dei valori, byte delle stringhe, stream individuali e byte aggregati degli stream

Modalità snapshot e incrementale

Uno snapshot esporta il grafo completo e ogjimReplace valida un documento candidato prima di scambiarlo con la destinazione

Un export incrementale contiene solo oggetti dirty, must-write ed eliminati; ogjimUpdate valida i riferimenti contro l'unione del grafo esistente e del delta, poi committa attraverso la macchina a transazioni del grafo caricato

Qualunque valore malformato, riferimento irrisolto, Catalog o albero Pages non valido, Length di stream diretto o indiretto incoerente, budget esaurito o lettura di sidecar fallita lascia la destinazione invariata

Sicurezza

Il grafo JSON contiene oggetti PDF e relazioni trailer Root e Info, ma non esporta mai password, chiavi di cifratura o stato attivo del security handler

Uno snapshot rimpiazzato è quindi non cifrato finché l'applicazione non configura esplicitamente la protezione dell'output prima del salvataggio

API correlate

Editing del Grafo di Oggetti e Assemblaggio delle Pagine