Caricamento PDF scalabile e ad accesso casuale
HotPDF mantiene reattivi i file di grandi dimensioni caricati ritardando le copie dei flussi e l'analisi degli oggetti compressi finché i dati non sono richiesti
Finestre di flusso con supporto file
I documenti non crittografati aperti con LoadFromFile mantengono i corpi dei flussi immutabili come intervalli del file sorgente
Le letture cercano l'intervallo richiesto e rilasciano immediatamente l'handle della sorgente, così che il file originale rimanga sostituibile su Windows
La prima scrittura materializza il flusso in memoria quando è uguale o inferiore a LoadedStreamMemoryThreshold, oppure in un file temporaneo di proprietà quando è più grande
Object stream lazy
Ogni contenitore /Type /ObjStm decodificato viene indicizzato per numero oggetto xref autorevole senza analizzare ogni membro durante l'apertura
Catalogo, albero delle pagine e la successiva risoluzione dei link materializzano i singoli membri una sola volta e riutilizzano i relativi oggetti analizzati
Una riscrittura completa materializza automaticamente ogni membro restante, mentre un salvataggio con supporto file invariato può preservare direttamente i byte originali
Accesso casuale personalizzato
Derivare da THPDFRandomAccessSource e implementare GetSize più ReadAt per caricare da intervalli HTTP, database, archivi o archivi virtuali
LoadFromRandomAccessSource adatta la sorgente al parser con seek di HotPDF e può eventualmente detenere la sorgente per la durata del documento
Diagnostica
GetLoadedStreamCacheInfosegnala i conteggi dei flussi con supporto sorgente, materializzati in memoria e materializzati su discoGetLoadedObjectStreamCacheInfosegnala i membri indicizzati e materializzati, le occorrenze e i mancati riscontri nella cache e i byte decodificati trattenuti
Vedere anche: LoadFromRandomAccessSource, LoadedStreamMemoryThreshold, DecompressAllObjectStreams