LoadFromRangeSource
Upravljanje dokumentov, zmogljivost
Opis
Naloži in izbere PDF prek sinhronega povratnega klica po naključnem dostopu, tako da odjemalci HTTP, zbirke podatkov, shrambe objektov in ponudniki shranjevanja po meri dobavijo samo bajtne obsege, ki se jih dotakne razčlenjevalnik
Sintaksa
Delphi
Function TPDFlib.LoadFromRangeSource(SourceSize: Int64;
ReadCallback: TPDFlibRangeReadEvent; Const Password: WideString;
ChunkSize: LongInt= 0; CacheLimitBytes: Int64= 0;
CoalesceWindowMS: Cardinal= PDF_NET_DEFAULT_COALESCE_WINDOW_MS;
AvailabilityCallback: TPDFlibRangeAvailabilityEvent= Nil): Integer;Parametri
| SourceSize | Avtoritativna skupna velikost vira v bajtih |
|---|---|
| ReadCallback | Povratni klic, ki prekopira bajte za absolutni izvorni odmik |
| Password | Geslo za odpiranje PDF-ja ali prazen niz za nešifriran dokument |
| ChunkSize | Granularnost prinašanja obsegov po blokih; nič izbere privzetih 64 KiB, vrednosti pod 4096 pa prav tako uporabijo privzeto |
| CacheLimitBytes | Največje število bajtov, zadržanih čez okna po nedavni uporabi; nič izbere privzetih 4 MiB, vrednosti pod enim blokom pa se dvignejo na en blok |
| CoalesceWindowMS | Okno zbiranja za prvi ne-predpomnjen blok vsakega absolutnega branja; privzeto sta 2 milisekundi, nič pa onemogoči začetno zakasnitev |
| AvailabilityCallback | Izbirni ne-prinašajoči preizkus za bajtne obsege, ki so že prisotni v napredovalni shrambi |
Vrnjene vrednosti
| 0 | Izvorni argumenti so bili neveljavni ali PDF-ja ni bilo mogoče naložiti; preverite LastErrorCode |
|---|---|
| 1 | Dokument je bil naložen in izbran |
Opombe
Povratni klic branja prejme absolutne odmike z ničelno osnovo in ne sme zapisati več kot Count bajtov v Buffer, vrne pa število zapisanihCilj povratnega klica in njegova podpirajoča shramba morata ostati veljavna, dokler se naloženi dokument ne zapre, ker lahko izrisovanje strani, izluščevanje in shranjevanje kasneje zahtevajo dodatne obsegeKlici so sinhroni in lahko prispejo v nezaporednem vrstnem redu; kratek rezultat je sprejet na fizičnem koncu vira, nepričakovan rezultat nič pa povzroči spodletel nalaganje ali trenutno odloženo operacijoKo je dodeljen
AvailabilityCallback, vrnite ne-ničelno vrednost samo, ko je mogoče celoten zahtevan obseg brati takoj, brez prenosa ali blokirajočega vhoda/izhodaPredpomnjeni obseg je razpoložljiv ne glede na rezultat povratnega klica; povratni klic
Nil ohrani sinhrono obnašanje, tako da vsak veljaven izvorni obseg obravnava kot razpoložljivPoravnani bloki se izognejo podvojenim prinašanjem pri prekrivajočih branjih, bajtni proračun pa omeji zadržani tovor, neodvisno od velikosti dokumentaOdložena branja objektov in segmentov uporabljajo absolutne odmike, tako da si sočasno delo deli zahteve po istem bloku in združi sosednje bloke v vrsti, brez spremembe položajnega kazalca tokaIzvorna povratna klica sta serializirana in ne smeta rekurzivno brati iz istega toka obsegovZ
GetRangeSourceDataAvailability
GetRangeSourceCacheInfo preizkusite odvisnosti strani, obrazca ali posrednih objektov, brez branja obsegov, prijavljenih kot manjkajočiZ SetRangeSourceCacheLimit, ClearRangeSourceCache in