Versionerede objektgraf-JSON-roundtrips
HotPDF kan streame en komplet indlæst indirekte-objektgraf til versioneret JSON og rekonstruere et redigerbart dokument uden at fladgøre PDF-værdier til en jobbeskrivelse
Skema og kompatibilitet
Det aktuelle HotPDF-object-graph-2-skema registrerer schemaVersion, minimumReaderVersion, PDF-version, trailerens Root- og Info-referencer, hvert valgte indirekte objekt, slettede objektidentifikatorer og snapshot- eller trinvis-typen
Læsere accepterer det tidligere HotPDF-object-graph-1-format af kompatibilitetshensyn og afviser fremtidige eller inkompatible skemaversioner, før måldokumentet ændres
Brug v2 stream-API'en til redigerings-roundtrips, fordi v2 registrerer, hvorvidt hver strøm-payload er rå filtrerede data eller afkodede data
Streaming og binære payloads
ExportLoadedObjectGraphJSONToStream skriver objekter og rekursivt ordnede PDF-værdier direkte til destinationsstrømmen uden at bygge en dokumentstor JSON-streng
Rå eller afkodede strømbytes kan udelades, indlejres som chunked base64 eller skrives som sidecar-filer under den angivne mappe
Sidecar-navne er sikre leaf-navne, publicering bruger en søskende midlertidig fil efterfulgt af atomar udskiftning, og import afviser traversal- eller absolutte stier
Importøren læser inputblokke af fast størrelse og materialiserer kun ét top-level objektind ad gangen, samtidig med at grænser håndhæves for JSON-bytes, objektantal og -nummer, værdidybde, strengbytes, individuelle strømme og aggregerede strømbytes
Snapshot- og trinvise tilstande
Et snapshot eksporterer den komplette graf, og ogjimReplace validerer et kandidatdokument, før det skiftes ind i målet
En trinvis eksport indeholder kun dirty-, must-write- og slettede objekter; ogjimUpdate validerer referencer mod foreningen af den eksisterende graf og deltaet og committer derefter gennem den indlæste grafs transaktionsmaskineri
Enhver fejlformet værdi, uopløst reference, ugyldigt Catalog- eller Pages-træ, inkonsistent direkte eller indirekte strøm-Length, opbrugt budget eller fejlet sidecar-læsning efterlader målet uændret
Sikkerhedsgrænse
JSON-grafen indeholder PDF-objekter og trailerens Root- og Info-relationer, men eksporterer aldrig adgangskoder, krypteringsnøgler eller aktiv security-handler-tilstand
Et udskiftet snapshot er derfor ukrypteret, indtil applikationen eksplicit konfigurerer outputbeskyttelse før gemning