Allers-retours JSON du graphe d’objets versionné

HotPDF peut streamer un graphe complet d’objets indirects chargés vers un JSON versionné et reconstruire un document éditable sans aplatir les valeurs PDF en description de tâche

Schéma et compatibilité

Le schéma actuel HotPDF-object-graph-2 enregistre schemaVersion, minimumReaderVersion, la version PDF, les références Root et Info du trailer, chaque objet indirect sélectionné, les identifiants d’objets supprimés et le type instantané ou incrémental

Les lecteurs acceptent l’ancien format HotPDF-object-graph-1 pour la compatibilité et rejettent les versions de schéma futures ou incompatibles avant de modifier le document cible

Utilisez l’API de flux v2 pour les allers-retours d’édition, car v2 enregistre si chaque charge utile de flux est une donnée filtrée brute ou une donnée décodée

Streaming et charges utiles binaires

ExportLoadedObjectGraphJSONToStream écrit les objets et les valeurs PDF ordonnées récursivement directement dans le flux de destination sans construire une chaîne JSON de la taille du document

Les octets de flux bruts ou décodés peuvent être omis, intégrés en base64 fragmenté ou écrits comme fichiers sidecar sous le répertoire fourni

Les noms sidecar sont des noms de feuille sûrs, la publication utilise un fichier temporaire voisin suivi d’un remplacement atomique, et l’importation rejette les chemins de traversée ou absolus

L’importateur lit des blocs d’entrée de taille fixe et ne matérialise qu’une entrée d’objet de premier niveau à la fois, tout en appliquant des limites sur les octets JSON, le nombre et le numéro d’objets, la profondeur des valeurs, les octets de chaînes, les flux individuels et les octets de flux cumulés

Modes instantané et incrémental

Un instantané exporte le graphe complet et ogjimReplace valide un document candidat avant de l’échanger avec la cible

Un export incrémental ne contient que les objets modifiés, à écrire obligatoirement et supprimés ; ogjimUpdate valide les références par rapport à l’union du graphe existant et du delta, puis commite via la machinerie de transactions du graphe chargé

Toute valeur malformée, référence non résolue, arbre Catalog ou Pages invalide, Length de flux direct ou indirect incohérent, budget épuisé ou lecture sidecar en échec laisse la cible inchangée

Frontière de sécurité

Le graphe JSON contient des objets PDF et les relations Root et Info du trailer, mais il n’exporte jamais les mots de passe, les clés de chiffrement ni l’état actif du gestionnaire de sécurité

Un instantané remplacé est donc non chiffré jusqu’à ce que l’application configure explicitement la protection de sortie avant l’enregistrement

API principales

Object Graph Editing and Page Assembly