Keičiamo mastelio ir atsitiktinės prieigos PDF įkėlimas
HotPDF išlaiko didelius įkeltus failus reaguojančius, atidėdamas srauto kopijas ir suspaustų objektų analizę, kol duomenys reikalingi
Failu pagrįsti srauto langai
Neankšifuoti dokumentai, atidaryti su LoadFromFile, išlaiko nekintančius srauto turinius kaip šaltinio failo intervalus
Skaitymai peršoka į reikalingą intervalą ir iš karto atlaisvina šaltinio rankeną, todėl originalus failas lieka pakeičiamas sistemoje Windows
OpenLoadedStreamSourceSlice sukuria nepriklausomą tik skaitymo rodinį per nefiltruotą šaltinio intervalą, nekopijuodamas ir nepareikšdamas tingaus srauto
Pirmasis rašymas pareiškia srautą atmintyje, kai jis yra žemiau arba lygus LoadedStreamMemoryThreshold, arba nuosavybės teisę turinčiame laikinajame faile, kai didesnis
Tingūs objektų srautai
Kiekvienas iššifruotas /Type /ObjStm konteineris indeksuojamas pagal autoritetingą xref objekto numerį, neanalizuojant kiekvieno nario atidarant
Catalog, puslapių medžio ir vėlesnis nuorodų sprendimas pareiškia atskirus narius vieną kartą ir pakartotinai naudoja jų išanalizuotus objektus
Pilnas perrašymas automatiškai pareiškia kiekvieną likusį narį, o nepakeistas failu pagrįstas įrašymas gali tiesiogiai išlaikyti originalius baitus
ReleaseDecodedStreamsAfterSave atlaisvina objektų srauto konteinerį tik po to, kai kiekvienas indeksuotas narys pareikštas, o ReleaseLoadedDecodedStreamCaches pateikia tą patį saugų atlaisvinimą pagal poreikį
Pasirinktinė atsitiktinė prieiga
Paveldėkite iš THPDFRandomAccessSource ir realizuokite GetSize bei ReadAt, kad įkeltumėte iš HTTP intervalų, duomenų bazių, archyvų ar virtualios saugyklos; perrašykite IsRangeAvailable, kai parsisiųsti intervalai gali atvykti nepriklausomai
LoadFromRandomAccessSource pritaiko šaltinį prie HotPDF ieškomąją padėtį palaikančio sintaksės analizatoriaus ir gali pasirinktinai valdyti šaltinį visą dokumento gyvavimo laiką
Progresyvus linijinis prieinamumas
GetProgressiveLinearizedLoadInfo nuskaito tik ribotą pirmojo objekto zondu, patikrina /L, /O, /E, /N ir /T bei praneša pirmojo puslapio prefikso ir pagrindinio-xref uodegos intervalus, reikalingus ankstyvam rodymui
ReadProgressiveLinearizedFirstPageSection nukopijuoja prieinamą pirmojo puslapio sekciją 64 KiB blokais po to, kai abu reikalingi intervalai yra, o operacijos atšaukimas lieka aktyvus tarp skaitymų
THPDFProgressiveLoadStatus atskiria nepasiekiamą antraštę, ne linijinį ar netinkamą šaltinį, trūkstamus pirmojo puslapio intervalus, pirmojo puslapio pasirengimą ir pilno dokumento pasirengimą
Lygiagretus vaizdų ir didelio santykio srautų optimizavimas
OptimizeLoadedStreams gali pasirinkti frmHighRatio, kad išbandytų keturias deterministines zlib strategijas didžiausiu suspaudimu ir išlaikytų mažiausią su standartais suderinamą Flate srautą
OptimizeLoadedImagesParallel iššifruoja tinkamus vaizdo srautus į ribotą adaptyvią saugyklą, suspaudžia iki iškvietėjo darbininkų ribos ir rezultatus įrašo nuosekliai šaltinio objekto tvarka tik tada, kai pasiekiamas prašomas baitų taupymas
Diagnostika
GetLoadedStreamCacheInfopraneša šaltinio pagrįstų, atmintyje pareikštų ir diske pareikštų srautų skaičiusGetLoadedObjectStreamCacheInfopraneša indeksuotus ir pareikštus narius, podėlio sutapimus ir prasiveržimus bei išlaikytus iššifruotus baitusGetLoadedObjectLifecycleStatisticsatskiria švarius, nešvarius, atlaisvintus ir privalomai įrašomus objektus
Taip pat žiūrėkite: LoadFromRandomAccessSource, GetProgressiveLinearizedLoadInfo, ReadProgressiveLinearizedFirstPageSection, OptimizeLoadedImagesParallel, OpenLoadedStreamSourceSlice, SourceBacked, LoadedStreamMemoryThreshold, ReleaseLoadedDecodedStreamCaches, DecompressAllObjectStreams