Clase THPDFRandomAccessSource
Clase base abstracta que permite a THotPDF.LoadFromRandomAccessSource cargar un PDF desde cualquier almacén de bytes con posicionamiento definido por quien llama, sin requerir una implementación de TStream
Declaración
THPDFRandomAccessSource = class
public
function GetSize: Int64; virtual; abstract;
function ReadAt(Offset: Int64; var Buffer;
Count: Longint): Longint; virtual; abstract;
end;
Unidad
HPDFDoc
Miembros
| Nombre | Propósito |
|---|---|
GetSize | Devuelve la longitud de bytes estable del almacén |
ReadAt | Lee Count bytes a partir de Offset hacia Buffer |
Notas de uso
- Derive una subclase y reemplace ambos métodos abstractos para adaptar HotPDF a solicitudes por rango HTTP, BLOBs de base de datos, archivos comprimidos, volúmenes cifrados o cualquier almacenamiento virtual que pueda suministrar bytes por desplazamiento
GetSizedebe devolver una longitud de bytes estable y no negativa durante toda la vida de la carga; HotPDF analiza las tablas de referencias cruzadas y los flujos de objetos posicionándose a través de esta fuenteReadAtdevuelve la cantidad de bytes realmente transferidos (entre cero yCount); el analizador trata una lectura corta en el final documentado del archivo como fin de flujo, no como error- La fuente debe seguir siendo válida mientras el documento cargado esté en uso; pase
OwnsSource = Truea LoadFromRandomAccessSource para que HotPDF libere la fuente automáticamente