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 Long

Parametrar

URLhttp- eller https-adressen till fjärr-PDF:en
PasswordDokumentets lösenord, eller en tom sträng när PDF:en inte är krypterad
OptionsNoll för standardöppning med uppvärmd förstasida, eller PDF_NET_OPT_NO_WARMING för att öppna helt på begäran
ChunkSizeEndast Delphi; granulariteten för intervallhämtning med anpassad justering, där noll väljer 64 KiB
CacheLimitBytesEndast 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
CoalesceWindowMSEndast 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

>0Ett dokumenthandtag med direktåtkomst
0Dokumentet 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

GetLinearizedURLAccessPlan

DAGetRangeSourceCacheInfo för att granska byteintervallayouten för sida 1 utan att öppna dokumentetAnvänd DASetRangeSourceCacheLimit, DAClearRangeSourceCache och