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