DAOpenFromURL

Gestione dei documenti, funzionalità di accesso diretto

Descrizione

Apre un PDF remoto via HTTP per l'accesso diretto mediante richieste a intervalli di byte

Il trasporto sonda l'URL una volta per confermare il supporto a intervalli di byte e conoscere la lunghezza totale; poi un flusso ricercabile dirige il lettore ad accesso casuale esistente, così solo gli oggetti realmente letti vengono recuperati via rete

Quando il documento è linearizzato e il riscaldamento della cache è attivo, la sezione della prima pagina viene precaricata entro il budget di byte conservati così la pagina 1 si renderizza prima di toccare il resto del file

Sintassi

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

Parametri

URLIndirizzo http o https del PDF remoto
PasswordLa password del documento, oppure una stringa vuota quando il PDF non è cifrato
OptionsZero per l'apertura predefinita con riscaldamento della prima pagina, oppure PDF_NET_OPT_NO_WARMING per aprire puramente su richiesta
ChunkSizeSolo Delphi; la granularità allineata del recupero degli intervalli, con zero che seleziona 64 KiB
CacheLimitBytesSolo Delphi; il massimo di byte della sorgente mantenuti, con zero che seleziona 4 MiB e valori inferiori a un chunk portati a un chunk
CoalesceWindowMSSolo Delphi; la finestra di raccolta per il primo chunk non in cache di ogni lettura assoluta, con 2 millisecondi come predefinito e zero che disabilita il ritardo iniziale

Valori restituiti

>0Un handle di documento ad accesso diretto
0Il documento non poteva essere aperto; LastErrorCode è impostato a PDFLIB_ERROR_NET_OPEN, PDFLIB_ERROR_NET_RANGE_UNSUPPORTED, PDFLIB_ERROR_NET_HTTP oppure a un codice di struttura o password

Osservazioni

Il server deve dichiarare il supporto degli intervalli di byte; in caso contrario la chiamata fallisce rapidamente con PDFLIB_ERROR_NET_RANGE_UNSUPPORTED invece di scaricare l'intero fileChiudere l'handle restituito con

Chiudete l'handle restituito con DACloseFile, che libera anche il flusso di trasporto sottostante

Le letture differite concorrenti condividono richieste dello stesso blocco e combinano blocchi adiacenti in coda in letture dall'origine limitate a 16 MiB

Usate GetLinearizedURLAccessPlan per ispezionare il layout a intervalli di byte della pagina 1 senza aprire il documento

DAGetRangeSourceCacheInfo per esaminare il layout a intervalli di byte della pagina 1 senza aprire il documentoUsare DASetRangeSourceCacheLimit, DAClearRangeSourceCache e