Versioned Object Graph JSON Round Trips
Aplikace HotPDF umí streamovat kompletní načtený graf nepřímých objektů do versionovaného JSON a rekonstruovat upravitelný dokument bez zploštění hodnot PDF do popisu úlohy
Schema and compatibility
Aktuální schéma HotPDF-object-graph-2 zaznamenává schemaVersion, minimumReaderVersion, verzi PDF, reference kořene a Info přívěsu, každý vybraný nepřímý objekt, identifikátory smazaných objektů a druh snímku nebo inkrementality
Čtečky pro kompatibilitu přijímají dřívější formát HotPDF-object-graph-1 a odmítají budoucí nebo nekompatibilní verze schématu před změnou cílového dokumentu
Pro editační round tripty použijte stream API v2, protože v2 zaznamenává, zda je každý stream dat surová filtrovaná data nebo dekódovaná data
Streaming and binary payloads
ExportLoadedObjectGraphJSONToStream zapisuje objekty a rekurzivně uspořádané hodnoty PDF přímo do cílového streamu bez vytváření řetězce JSON velikosti dokumentu
Surové nebo dekódované bajty streamu lze vynechat, vložit jako chunkované base64 nebo zapsat jako boční soubory do dodaného adresáře
Názvy bočních souborů jsou bezpečná jména listů, publikace používá sourozenecký dočasný soubor následovaný atomickou náhradou a import odmítá cesty s procházením nebo absolutní cesty
Importér čte vstupní bloky pevné velikosti a materializuje vždy jeden záznam objektu na nejvyšší úrovni a přitom vynucuje limity pro bajty JSON, počet a číslo objektů, hloubku hodnot, bajty řetězců, jednotlivé streamy a agregované bajty streamů
Snapshot and incremental modes
Snímek exportuje kompletní graf a ogjimReplace ověřuje kandidátský dokument před vložením do cíle
Inkrementální export obsahuje pouze špinavé, must-write a smazané objekty; ogjimUpdate ověřuje reference proti sjednocení existujícího grafu a delty a poté potvrzuje prostřednictvím mechanismu transakcí načteného grafu
Jakákoli chybná hodnota, nevyřešená reference, neplatný strom katalogu nebo stránek, nekonzistentní přímá nebo nepřímá délka Length streamu, vyčerpaný rozpočet nebo neúspěšné čtení bočního souboru nechají cíl beze změny
Security boundary
Graf JSON obsahuje objekty PDF a vztahy kořene přívěsu a Info, ale nikdy neexportuje hesla, šifrovací klíče ani aktivní stav bezpečnostního handleru
Nahrazený snímek je proto nešifrovaný, dokud aplikace před uložením explicitně nenakonfiguruje ochranu výstupu