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

Vedere anche: LoadFromRandomAccessSource, LoadedStreamMemoryThreshold, DecompressAllObjectStreams