LoadFromRangeSource

Dokumentumkezelés, teljesítmény

Leírás

PDF-et tölt be és választ ki szinkron véletlen hozzáférésű visszahíváson keresztül, lehetővé téve, hogy HTTP kliensek, adatbázisok, objektumtárolók és egyéni tárolószolgáltatók csak azokat a bájttartományokat szolgáltassák, amelyeket az értelmező érint

Szintaxis

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;

Paraméterek

SourceSizeA mérvadó teljes forrásméret bájtban
ReadCallbackA visszahívás, amely bájtokat másol egy abszolút forráseltolásra
PasswordA PDF megnyitásához használt jelszó, vagy üres karakterlánc titkosítatlan dokumentum esetén
ChunkSizeAz igazított tartományletöltési finomság; a nulla a 64 KiB-s alapértelmezést választja, a 4096 alatti értékek is az alapértelmezést használják
CacheLimitBytesA legfeljebb megtartható bájtok a legrégebben használt ablakok között; a nulla a 4 MiB-s alapértelmezést választja, az egy darabka alatti értékek egy darabkára emelnek
CoalesceWindowMSAz egyes abszolút olvasások első, gyorsítótárazatlan darabkájának begyűjtési ablaka; 2 ezredmásodperc az alapértelmezés, a nulla kikapcsolja a kezdeti késleltetést
AvailabilityCallbackOpcionális, nem letöltő teszt a progresszív tárolóban már jelen lévő bájttartományokra

Visszatérési értékek

0A forrásargumentumok érvénytelenek voltak, vagy a PDF nem tölthető be; vizsgálja meg a LastErrorCode értékét
1A dokumentum betöltésre és kijelölésre került

Megjegyzések

Az olvasási visszahívás abszolút, nulla-alapú eltolásokat kap, és legfeljebb Count bájtot írhat a Buffer-be, visszaadva az írt számot

A visszahívás célpontja és háttértárolója érvényes marad, amíg a betöltött dokumentum be nem zárul, mert az oldalrenderelés, kinyerés és mentés később további tartományokat kérhet

A hívások szinkronak, és nem sorrendi sorrendben érkezhetnek; a rövid eredmény a forrás fizikai végén elfogadott, míg a váratlan nulla eredmény a betöltés vagy az aktuális halasztott művelet meghiúsulását okozza

AvailabilityCallback hozzá van rendelve, csak akkor adjon vissza nem nulla értéket, ha a teljes kért tartomány azonnal olvasható szállítás vagy blokkoló I/O nélkülEgy gyorsítótárazott tartomány a visszahívás eredményétől függetlenül elérhető; egy

Gyorsítótárazott tartomány a visszahívás eredményétől függetlenül elérhető; Nil visszahívás minden érvényes forrástartományt elérhetőnek tekintve megőrzi a szinkron viselkedést

Az illesztett darabok elkerülik az átfedő olvasások duplikált szállítási letöltéseit, miközben a bájt-keret a megtartott terhet a dokumentum méretétől függetlenül korlátozza

A halasztott objektum- és szegmensolvasások abszolút eltolásokat használnak, így a párhuzamos munka megosztja az azonos-darabos kéréseket, és a szomszédos sorban álló darabokat egyesíti a pozicionális adatfolyam-kurzor mozgatása nélkül

A forrás-visszahívások sorosítva vannak, és nem olvashatnak rekurzívan ugyanabból a tartományadatfolyamból

GetRangeSourceDataAvailability

Használd a GetRangeSourceCacheInfo-t, SetRangeSourceCacheLimit-t és ClearRangeSourceCache-t az aktív gyorsítótár megfigyelésére vagy megváltoztatására

A könyvtár a saját belső, kereshető tartományadatfolyamának tulajdonosa, de nem a visszahívás célpontjáé vagy háttértárolójáé