LoadFromRangeSource

Dokumentų valdymas, našumas

Aprašymas

Įkelia ir pažymi PDF per sinchroninį atsitiktinės prieigos atgalinį iškvietimą, leisdamas HTTP klientams, duomenų bazėms, objektų saugykloms ir pasirinktinėms saugojimo paslaugoms pateikti tik tuos baitų diapazonus, kuriuos liečia analizatorius

Sintaksė

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;

Parametrai

SourceSizeAutoritetingasis bendrasis šaltinio dydis baitais
ReadCallbackAtgalinio iškvietimo funkcija, kopijuojanti baitus absolučiajam šaltinio poslinkiui
PasswordPDF atvėrimui naudojamas slaptažodis arba tuščia eilutė nešifruotam dokumentui
ChunkSizeLygiuotoji diapazono parsiuntimo granuliarumas; nulis pasirenka numatytąsias 64 KiB, o mažesnės nei 4096 reikšmės taip pat naudoja numatytąją
CacheLimitBytesDidžiausias seniausiai naudotųjų langų bendras laikomasis baitų skaičius; nulis pasirenka numatytąsias 4 MiB, o mažesnės nei vienas gabalas reikšmės pakeliamos iki vieno gabalo
CoalesceWindowMSKiekvieno absoliutaus skaitymo pirmojo nepodėliuoto gabalo rinkimo langas; 2 milisekundės yra numatytosios, o nulis išjungia pradinę delsą
AvailabilityCallbackPasirinktinis neparsiunčiantis baitų diapazonų, jau esančių pažangiojoje saugykloje, tikrinimas

Grąžinamos reikšmės

0Šaltinio argumentai buvo netinkami arba PDF nepavyko įkelti; patikrinkite LastErrorCode
1Dokumentas buvo įkeltas ir pažymėtas

Pastabos

Skaitymo atgalinis iškvietimas gauna absolučiuosius nuo 0 skaičiuojamus poslinkius ir privalo rašyti ne daugiau kaip Count baitų į Buffer, grąžindamas įrašytąjį skaičiųAtgalinio iškvietimo paskirtis ir jos paremtoji saugykla privalo išlikti galiojančios, kol užvertas įkeltasis dokumentas, nes puslapių atvaizdavimas, išgava ir išsaugojimas vėliau gali pageidauti papildomų diapazonųKvietimai sinchroniniai ir gali ateiti nenuoseklia tvarka; trumpasis rezultatas priimamas fizinėje šaltinio pabaigoje, o netikėtas nulinis rezultatas sukelia įkėlimo arba dabartinės atidėtosios operacijos nesėkmęKai

AvailabilityCallback priskirtas, grąžinkite nenulinę reikšmę tik tada, kai visas pageidaujamasis diapazonas gali būti skaitomas iš karto be transporto arba blokuojančiosios I/OPodėliuotasis diapazonas prieinamas nepaisant atgalinio iškvietimo rezultato;

Nil atgalinis iškvietimas išlaiko sinchroninę elgseną laikydamas kiekvieną galiojantįjį šaltinio diapazoną prieinamuLygiuotieji gabalai išvengia dvigubų transporto parsiuntimų besikertantiems skaitymams, o baitų biudžetas riboja laikomąją naštą nepriklausomai nuo dokumento dydžioAtidėtieji objektų ir segmentų skaitymai naudoja absolučiuosius poslinkius, todėl lygiagretus darbas bendrina to paties gabalo užklausas ir sujungia gretimus eilėje esančius gabalus nekeisdamas pozicinio srauto žymeklioŠaltinio atgalinieji iškvietimai serializuojami ir negali rekursyviai skaityti iš to paties diapazono srautoNaudokite

GetRangeSourceDataAvailability

GetRangeSourceCacheInfo puslapio, formos arba netiesioginių objektų priklausomybėms tikrinti neskaitydami neprieinamais praneštųjų diapazonųNaudokite SetRangeSourceCacheLimit, ClearRangeSourceCache ir