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
| SourceSize | A mérvadó teljes forrásméret bájtban |
|---|---|
| ReadCallback | A visszahívás, amely bájtokat másol egy abszolút forráseltolásra |
| Password | A PDF megnyitásához használt jelszó, vagy üres karakterlánc titkosítatlan dokumentum esetén |
| ChunkSize | Az 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 |
| CacheLimitBytes | A 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 |
| CoalesceWindowMS | Az 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 |
| AvailabilityCallback | Opcionális, nem letöltő teszt a progresszív tárolóban már jelen lévő bájttartományokra |
Visszatérési értékek
| 0 | A forrásargumentumok érvénytelenek voltak, vagy a PDF nem tölthető be; vizsgálja meg a LastErrorCode értékét |
|---|---|
| 1 | A 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áé