DAOpenFromURL

Gestión de documentos, funcionalidad de acceso directo

Descripción

Abre un PDF remoto por HTTP para acceso directo mediante peticiones por rangos de bytes

El transporte sondea la URL una vez para confirmar el soporte por rangos de bytes y conocer la longitud total; después un flujo con búsqueda dirige el lector de acceso aleatorio existente, de modo que solo los objetos realmente leídos se traen por la red

Cuando el documento está linealizado y el calentamiento de caché está activado, la sección de la primera página se precarga dentro del presupuesto de bytes retenidos para que la página 1 se renderice antes de tocar el resto del archivo

Sintaxis

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

URLLa dirección http o https del PDF remoto
PasswordLa contraseña del documento, o una cadena vacía cuando el PDF no está cifrado
OptionsCero para la apertura predeterminada con calentamiento de la primera página, o PDF_NET_OPT_NO_WARMING para abrir puramente bajo demanda
ChunkSizeSolo Delphi; la granularidad alineada de obtención de rangos, donde cero selecciona 64 KiB
CacheLimitBytesSolo Delphi; el máximo de bytes de origen retenidos, donde cero selecciona 4 MiB y los valores inferiores a un fragmento se elevan a un fragmento
CoalesceWindowMSSolo Delphi; la ventana de recogida para el primer fragmento sin caché de cada lectura absoluta, con 2 milisegundos como valor predeterminado y cero para desactivar el retardo inicial

Valores devueltos

>0Un manejador de documento de acceso directo
0No se pudo abrir el documento; LastErrorCode se establece en PDFLIB_ERROR_NET_OPEN, PDFLIB_ERROR_NET_RANGE_UNSUPPORTED, PDFLIB_ERROR_NET_HTTP, o en un código de estructura o de contraseña

Observaciones

El servidor debe anunciar compatibilidad con rangos de bytes; de lo contrario, la llamada falla rápidamente con PDFLIB_ERROR_NET_RANGE_UNSUPPORTED en lugar de descargar el archivo completoCierre el manejador devuelto con

Cierre el identificador devuelto con DACloseFile, que también libera el flujo de transporte subyacente

Las lecturas diferidas concurrentes comparten peticiones del mismo bloque y combinan bloques contiguos en cola en lecturas del origen limitadas a 16 MiB

Use GetLinearizedURLAccessPlan para inspeccionar el diseño por rangos de bytes de la página 1 sin abrir el documento

DAGetRangeSourceCacheInfo para inspeccionar la disposición de rangos de bytes de la página 1 sin abrir el documentoUtilice DASetRangeSourceCacheLimit, DAClearRangeSourceCache y