LoadFromRangeSource
Asiakirjojen hallinta, suorituskyky
Kuvaus
Lataa ja valitsee PDF:n synkronisen satunnaiskäytön takaisinkutsun kautta mahdollistaen HTTP-asiakasohjelmien, tietokantojen, objektivarastojen ja mukautettujen tallennustarjoajien toimittaa vain ne tavualueet, joita jäsentäjä koskettaa
Syntaksi
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;Parametrit
| SourceSize | Auktoritatiivinen lähteen kokonaiskoko tavuina |
|---|---|
| ReadCallback | Takaisinkutsu, joka kopioi tavut absoluuttiselle lähdesiirtymälle |
| Password | Salasana, jolla PDF avataan, tai tyhjä merkkijono salaamattomalle asiakirjalle |
| ChunkSize | Tasattu aluehakun granulariteetti; nolla valitsee oletuksen 64 KiB ja arvot alle 4096 käyttävät myös oletusta |
| CacheLimitBytes | Enimmäismäärä tavuja, jotka säilytetään vähiten viimeksi käytettyjen ikkunoiden yli; nolla valitsee oletuksen 4 MiB ja alle yhden lohkon arvot korotetaan yhdeksi lohkoksi |
| CoalesceWindowMS | Kullakin absoluuttisella lukemalla ensimmäisen välimuistista puuttuvan lohkon keruuikkuna; oletus on 2 millisekuntia ja nolla poistaa alkuviiveen käytöstä |
| AvailabilityCallback | Valinnainen noutamaton testi tavualueille, jotka ovat jo olemassa progressiivisessa tallennustilassa |
Paluuarvot
| 0 | Lähdargumentit olivat virheellisiä tai PDF:ää ei voitu ladata; tarkista LastErrorCode |
|---|---|
| 1 | Asiakirja ladattiin ja valittiin |
Huomautukset
Lukutakaisinkutsu vastaanottaa absoluuttisia nollapohjaisia siirtymiä, ja sen on kirjoitettava enintään Count tavua Buffer-puskuriin palauttaen kirjoitettujen määränTakaisinkutsun kohteen ja sen taustalla olevan tallennustilan on pysyttävä kelvollisina, kunnes ladattu asiakirja suljetaan, koska sivun renderöinti, poiminta ja tallennus voivat pyytää lisäalueita myöhemminKutsut ovat synkronisia ja voivat saapua ei-järjestyksessä; lyhyt tulos hyväksytään lähteen fyysisessä lopussa, kun taas odottamaton nollatulos saa latauksen tai nykyisen lykätyn operaation epäonnistumaanKun
AvailabilityCallback on annettu, palauta ei-nollaarvo vain, kun koko pyydetty alue voidaan lukea välittömästi ilman siirtoa tai estävää I/O:taVälimuistissa oleva alue on käytettävissä riippumatta takaisinkutsun tuloksesta;
Nil-takaisinkutsu säilyttää synkronisen käyttäytymisen käsitellen jokaisen kelvollisen lähdealueen käytettävissä olevaksiTasatut lohkot välttävät päällekkäisten lukujen päällekkäiset siirtonoudot, kun taas tavubudjetti rajaa säilytetyn payloadin riippumatta asiakirjan koostaLykätyt objekti- ja segmenttilukemat käyttävät absoluuttisia siirtymiä, joten rinnakkainen työ jakaa saman lohkon pyyntöjä ja yhdistää viereisiä jonossa olevia lohkoja muuttamatta virran paikkakursoriaLähteen takaisinkutsut sarjallistetaan, eivätkä ne saa lukea rekursiivisesti samasta aluevirrastaKäytä
GetRangeSourceDataAvailability
GetRangeSourceCacheInfo-metodia testataksesi sivun, lomakkeen tai epäsuoran objektin riippuvuudet lukematta puuttuviksi ilmoitettuja alueitaKäytä SetRangeSourceCacheLimit-, ClearRangeSourceCache- ja