DAOpenFromURL

Gerenciamento de documentos, Funcionalidade de acesso direto

Descrição

Abre um PDF remoto por HTTP para acesso direto usando requisições byte-range

O transporte testa a URL uma vez para confirmar o suporte a byte-range e aprender o comprimento total; então um stream posicionável conduz o leitor de acesso aleatório existente, de modo que apenas os objetos realmente lidos são buscados pela rede

Quando o documento é linearizado e o aquecimento de cache está habilitado, a seção da primeira página é pré-buscada dentro do orçamento de bytes retidos, de modo que a página 1 é renderizada antes que o restante do arquivo seja tocado

Sintaxe

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

Parâmetros

URLO endereço http ou https do PDF remoto
PasswordA senha do documento, ou uma string vazia quando o PDF não é criptografado
OptionsZero para a abertura padrão com aquecimento da primeira página, ou PDF_NET_OPT_NO_WARMING para abrir puramente sob demanda
ChunkSizeSomente Delphi; a granularidade alinhada de busca de intervalos, com zero selecionando 64 KiB
CacheLimitBytesSomente Delphi; o máximo de bytes de origem retidos, com zero selecionando 4 MiB e valores abaixo de um chunk elevados a um chunk
CoalesceWindowMSSomente Delphi; a janela de coleta para o primeiro chunk não armazenado em cache de cada leitura absoluta, com 2 milissegundos como padrão e zero desabilitando o atraso inicial

Valores retornados

>0Um handle de documento de acesso direto
0O documento não pôde ser aberto; LastErrorCode é definido como PDFLIB_ERROR_NET_OPEN, PDFLIB_ERROR_NET_RANGE_UNSUPPORTED, PDFLIB_ERROR_NET_HTTP ou um código de estrutura ou senha

Observações

O servidor deve anunciar suporte a intervalos de bytes; caso contrário, a chamada falha rapidamente com PDFLIB_ERROR_NET_RANGE_UNSUPPORTED em vez de baixar o arquivo inteiroFeche o handle retornado com

Feche o handle retornado com DACloseFile, que também libera o stream de transporte subjacente

Leiras diferidas concorrentes compartilham requisições do mesmo bloco e combinam blocos adjacentes na fila em leituras de origem limitadas a 16 MiB

GetLinearizedURLAccessPlan

DAGetRangeSourceCacheInfo para examinar o layout de intervalos de bytes da página 1 sem abrir o documentoUse DASetRangeSourceCacheLimit, DAClearRangeSourceCache e