DAOpenFromURL

Dokumenthåndtering, direkte adgangsfunktioner

Beskrivelse

Åbner en fjern-PDF over HTTP til direkte adgang ved hjælp af byte-range-anmodninger

Transporten sonderer URL'en én gang for at bekræfte byte-range-understøttelse og lære den samlede længde; derefter driver en søgbar strøm den eksisterende tilfældighedsadgangslæser, så kun de objekter, der faktisk læses, hentes over netværket

Når dokumentet er lineariseret, og cache-opvarmning er slået til, forudindlæses førstesidestsektionen inden for det gemte bytebudget, så side 1 renderes, før resten af filen berøres

Syntaks

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

Parametre

URLhttp- eller https-adressen på den eksterne PDF
PasswordDokumentets adgangskode, eller en tom streng, når PDF'en ikke er krypteret
OptionsNul for standardåbning med opvarmet førsteside, eller PDF_NET_OPT_NO_WARMING for at åbne udelukkende efter behov
ChunkSizeKun Delphi; granulariteten for justerede områdehentninger, hvor nul vælger 64 KiB
CacheLimitBytesKun Delphi; det maksimale antal gemte kildebytes, hvor nul vælger 4 MiB, og værdier under én chunk hæves til én chunk
CoalesceWindowMSKun Delphi; indsamlingsvinduet for den første ikke-cachede chunk i hver absolut læsning, med 2 millisekunder som standard, og nul deaktiverer den indledende ventetid

Returværdier

>0Et direct-access-dokumenthandle
0Dokumentet kunne ikke åbnes; LastErrorCode sættes til PDFLIB_ERROR_NET_OPEN, PDFLIB_ERROR_NET_RANGE_UNSUPPORTED, PDFLIB_ERROR_NET_HTTP eller en struktur- eller adgangskodekode

Bemærkninger

Serveren skal annoncere byte-range-understøttelse; ellers fejler kaldet hurtigt med PDFLIB_ERROR_NET_RANGE_UNSUPPORTED i stedet for at downloade hele filen

Luk det returnerede handle med DACloseFile, som også frigiver den underliggende transportstrøm

Samtidige udskudte læsninger deler samme blok-anmodninger og kombinerer tilstødende køede blokke til kilde-læsninger begrænset til 16 MiB

Brug GetLinearizedURLAccessPlan til at se byte-range-layoutet af side 1 uden at åbne dokumentet

Brug DAGetRangeSourceCacheInfo, DASetRangeSourceCacheLimit og DAClearRangeSourceCache til at observere eller ændre en Delphi direct-access-cache