Édition du graphe d'objets et assemblage de pages
HotPDF expose le graphe complet d'objets indirects chargés pour des diagnostics déterministes et une édition contrôlée tout en conservant une validation explicite et des limites de ressources
Diagnostics et édition du graphe
L'export JSON stable ordonne les objets et les clés de dictionnaire de façon déterministe et peut intégrer des charges utiles de flux brutes ou décodées ou les écrire dans des fichiers externes
JSON versionné du graphe d'objets diffuse des instantanés complets ou des mises à jour incrémentales avec une compatibilité de schéma explicite, des fichiers secondaires binaires, une analyse bornée, une validation des références et un import transactionnel
BuildLoadedObjectDependencyGraph retourne des nœuds ordonnés par numéro d'objet et des arêtes de fentes de référence avec une mémoire superficielle, l'accessibilité du Catalog, les dominants immédiats et une attribution de mémoire conservée
Les octets conservés utilisent l'arbre de dominants enraciné au Catalog, de sorte que la mémoire accessible via des ressources partagées est imputée uniquement à l'objet le plus proche dont le retrait rendrait cette mémoire inaccessible
Les correctifs JSON validés prennent en charge des valeurs PDF typées et rejettent les chemins, références, cycles, charges utiles base64 et longueurs de flux incohérents invalides avant de valider les modifications
Les flux d'objets peuvent être inspectés comme des octets filtrés bruts ou des octets décodés sans matérialiser les membres compressés non liés
La validation de linéarisation vérifie le dictionnaire principal, la section de première page, l'emplacement de la table des références croisées principale, les indices d'offset de page et les indices d'objets partagés sous les limites choisies par l'appelant
Reproductibilité et accessibilité
ReproducibleOutput dérive les identifiants de document d'un contenu sérialisé canonique, active l'ordre de dictionnaire déterministe et évite la copie rapide de fichiers inchangés
Les objets indirects inaccessibles peuvent être préservés, signalés ou supprimés après une traversée enracinée au trailer et au graphe de document chargé
Flux de travail de pages
L'assemblage collationné lit plusieurs documents sources en morceaux bornés avec un nombre maximal explicite de fichiers ouverts
Les plages de superposition et de sous-jacence utilisent des politiques de cycle de pages stop, repeat, clamp ou reverse indépendantes
L'aplatissement de rotation transforme le contenu, les boîtes de page, les annotations, les destinations et la géométrie de structure avant d'effacer la rotation de page
Les vignettes de page peuvent être lues brutes ou décodées, remplacées et invalidées avec les modifications du cache de pages rendues
API principales
THotPDF.ExportLoadedObjectGraphJSONTHotPDF.ExportLoadedObjectGraphJSONToStreamTHotPDF.ImportLoadedObjectGraphJSONTHotPDF.BuildLoadedObjectDependencyGraphTHotPDF.ApplyLoadedObjectGraphJSONPatchTHotPDF.InspectLoadedObjectStreamTHotPDF.ValidateLinearizedSourceTHotPDF.ReproducibleOutputTHotPDF.ApplyUnreachableObjectPolicyTHotPDF.AssembleCollatedPagesTHotPDF.ComposeLoadedPageRangesTHotPDF.FlattenLoadedPageRotationTHotPDF.ReadLoadedPageThumbnailTHotPDF.SetLoadedPageThumbnailStreamTHotPDF.InvalidateLoadedPageThumbnail