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

Taip pat žiūrėkite: LoadFromRandomAccessSource, GetProgressiveLinearizedLoadInfo, ReadProgressiveLinearizedFirstPageSection, OptimizeLoadedImagesParallel, OpenLoadedStreamSourceSlice, SourceBacked, LoadedStreamMemoryThreshold, ReleaseLoadedDecodedStreamCaches, DecompressAllObjectStreams