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 LongParametre
| URL | http- eller https-adressen på den eksterne PDF |
|---|---|
| Password | Dokumentets adgangskode, eller en tom streng, når PDF'en ikke er krypteret |
| Options | Nul for standardåbning med opvarmet førsteside, eller PDF_NET_OPT_NO_WARMING for at åbne udelukkende efter behov |
| ChunkSize | Kun Delphi; granulariteten for justerede områdehentninger, hvor nul vælger 64 KiB |
| CacheLimitBytes | Kun Delphi; det maksimale antal gemte kildebytes, hvor nul vælger 4 MiB, og værdier under én chunk hæves til én chunk |
| CoalesceWindowMS | Kun 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
| >0 | Et direct-access-dokumenthandle |
|---|---|
| 0 | Dokumentet 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