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 LongParâmetros
| URL | O endereço http ou https do PDF remoto |
|---|---|
| Password | A senha do documento, ou uma string vazia quando o PDF não é criptografado |
| Options | Zero para a abertura padrão com aquecimento da primeira página, ou PDF_NET_OPT_NO_WARMING para abrir puramente sob demanda |
| ChunkSize | Somente Delphi; a granularidade alinhada de busca de intervalos, com zero selecionando 64 KiB |
| CacheLimitBytes | Somente Delphi; o máximo de bytes de origem retidos, com zero selecionando 4 MiB e valores abaixo de um chunk elevados a um chunk |
| CoalesceWindowMS | Somente 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
| >0 | Um handle de documento de acesso direto |
|---|---|
| 0 | O 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
DAGetRangeSourceCacheInfo para examinar o layout de intervalos de bytes da página 1 sem abrir o documentoUse DASetRangeSourceCacheLimit, DAClearRangeSourceCache e