DAOpenFromURL
Dokumenthantering, direktåtkomstfunktioner
Beskrivning
Öppnar en fjärr-PDF över HTTP för direktåtkomst med hjälp av byteintervallförfrågningar
Transporten avkänner URL:en en gång för att bekräfta stöd för byteintervall och lära sig den totala längden; därefter driver en sökbar ström den befintliga slumpåtkomstläsaren så att bara de objekt som faktiskt läss hämtas över nätverket
När dokumentet är lineariserat och uppvärmning av cachen är aktiverad förhämtas förstasidesavsnittet inom den kvarhållna bytebudgeten, så att sida 1 renderas innan resten av filen rörs
Syntax
Delphi
Function TPDFlib.DAOpenFromURL(Const URL, Password: WideString; Options: Integer= 0; ChunkSize: LongInt= 0; CacheLimitBytes: Int64= 0; CoalesceWindowMS: Cardinal= PDF_NET_DEFAULT_COALESCE_WINDOW_MS): Integer;DLL
int DLDAOpenFromURL(int InstanceID, const wchar_t* URL, const wchar_t* Password, int Options);ActiveX
Function PDFlib::DAOpenFromURL(URL As String, Password As String, Options As Long) As LongParametrar
| URL | http- eller https-adressen till fjärr-PDF:en |
|---|---|
| Password | Dokumentets lösenord, eller en tom sträng när PDF:en inte är krypterad |
| Options | Noll för standardöppning med uppvärmd förstasida, eller PDF_NET_OPT_NO_WARMING för att öppna helt på begäran |
| ChunkSize | Endast Delphi; granulariteten för intervallhämtning med anpassad justering, där noll väljer 64 KiB |
| CacheLimitBytes | Endast Delphi; det maximala antalet kvarhållna källbyte, där noll väljer 4 MiB och värden under ett block höjs till ett block |
| CoalesceWindowMS | Endast Delphi; insamlingsfönstret för det första icke cachade blocket vid varje absolut läsning, med 2 millisekunder som standard och noll som inaktiverar den initiala fördröjningen |
Returvärden
| >0 | Ett dokumenthandtag med direktåtkomst |
|---|---|
| 0 | Dokumentet kunde inte öppnas; LastErrorCode sätts till PDFLIB_ERROR_NET_OPEN, PDFLIB_ERROR_NET_RANGE_UNSUPPORTED, PDFLIB_ERROR_NET_HTTP eller en struktur- eller lösenordskod |
Anmärkningar
Servern måste annonsera stöd för byteintervall; i annat fall misslyckas anropet snabbt med PDFLIB_ERROR_NET_RANGE_UNSUPPORTED i stället för att hämta hela filenStäng det returnerade handtaget med
DACloseFile, vilket också frigör den underliggande transportströmmen
Samtidiga uppskjutna läsningar delar förfrågningar för samma block och slår ihop angränsande köade block till källäsningar som begränsas till 16 MiBAnvänd
DAGetRangeSourceCacheInfo för att granska byteintervallayouten för sida 1 utan att öppna dokumentetAnvänd DASetRangeSourceCacheLimit, DAClearRangeSourceCache och