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

SourceSizeAvtoritativna skupna velikost vira v bajtih
ReadCallbackPovratni klic, ki prekopira bajte za absolutni izvorni odmik
PasswordGeslo za odpiranje PDF-ja ali prazen niz za nešifriran dokument
ChunkSizeGranularnost prinašanja obsegov po blokih; nič izbere privzetih 64 KiB, vrednosti pod 4096 pa prav tako uporabijo privzeto
CacheLimitBytesNajveč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
CoalesceWindowMSOkno zbiranja za prvi ne-predpomnjen blok vsakega absolutnega branja; privzeto sta 2 milisekundi, nič pa onemogoči začetno zakasnitev
AvailabilityCallbackIzbirni ne-prinašajoči preizkus za bajtne obsege, ki so že prisotni v napredovalni shrambi

Vrnjene vrednosti

0Izvorni argumenti so bili neveljavni ali PDF-ja ni bilo mogoče naložiti; preverite LastErrorCode
1Dokument 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