Chargement de PDF évolutif et à accès aléatoire

HotPDF maintient la réactivité des gros fichiers chargés en différant les copies de flux et l’analyse des objets compressés jusqu’à ce que les données soient requises

Fenêtres de flux sauvegardées par fichier

Les documents non chiffrés ouverts avec LoadFromFile conservent les corps de flux immuables comme des plages du fichier source

Les lectures se positionnent sur la plage requise et libèrent immédiatement le descripteur source, de sorte que le fichier d’origine reste remplaçable sous Windows

La première écriture matérialise le flux en mémoire lorsqu’il est inférieur ou égal à LoadedStreamMemoryThreshold, ou dans un fichier temporaire propriétaire lorsqu’il est plus grand

Flux d’objets paresseux

Chaque conteneur /Type /ObjStm décodé est indexé par numéro d’objet xref faisant autorité sans analyser chaque membre à l’ouverture

Le Catalog, l’arborescence des pages et la résolution ultérieure des liens matérialisent des membres individuels une fois et réutilisent leurs objets analysés

Une réécriture complète matérialise automatiquement chaque membre restant, tandis qu’un enregistrement sauvegardé par fichier inchangé peut préserver directement les octets d’origine

Accès aléatoire personnalisé

Dérivez de THPDFRandomAccessSource et implémentez GetSize plus ReadAt pour charger depuis des plages HTTP, des bases de données, des archives ou un stockage virtuel

LoadFromRandomAccessSource adapte la source à l’analyseur à positionnement d’HotPDF et peut, au choix, posséder la source pour la durée de vie du document

Diagnostics

Voir aussi : LoadFromRandomAccessSource, LoadedStreamMemoryThreshold, DecompressAllObjectStreams