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 LongParámetros
| URL | La dirección http o https del PDF remoto |
|---|---|
| Password | La contraseña del documento, o una cadena vacía cuando el PDF no está cifrado |
| Options | Cero para la apertura predeterminada con calentamiento de la primera página, o PDF_NET_OPT_NO_WARMING para abrir puramente bajo demanda |
| ChunkSize | Solo Delphi; la granularidad alineada de obtención de rangos, donde cero selecciona 64 KiB |
| CacheLimitBytes | Solo 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 |
| CoalesceWindowMS | Solo 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
| >0 | Un manejador de documento de acceso directo |
|---|---|
| 0 | No 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