Classe THPDFRandomAccessSource
Classe base abstrata que permite a THotPDF.LoadFromRandomAccessSource carregar um PDF a partir de qualquer armazenamento de bytes com procura definido pelo chamador, sem necessitar de uma implementação TStream
Declaração
THPDFRandomAccessSource = class
public
function GetSize: Int64; virtual; abstract;
function ReadAt(Offset: Int64; var Buffer;
Count: Longint): Longint; virtual; abstract;
end;
Unit
HPDFDoc
Membros
| Nome | Objetivo |
|---|---|
GetSize | Devolve o comprimento de bytes estável do armazenamento de suporte |
ReadAt | Lê Count bytes a partir de Offset para Buffer |
Notas de utilização
- Derive uma subclasse e redefina ambos os métodos abstratos para adaptar o HotPDF a pedidos de intervalos HTTP, BLOBs de base de dados, arquivos comprimidos, volumes encriptados ou qualquer armazenamento virtual que consiga fornecer bytes por desvio
GetSizetem de devolver um comprimento de bytes estável e não negativo durante o tempo de vida do carregamento; o HotPDF analisa as tabelas de referência cruzada e os fluxos de objetos procurando através desta origemReadAtdevolve o número de bytes efetivamente transferidos (de zero atéCount); o analisador trata uma leitura curta no fim de ficheiro documentado como fim de fluxo, não como erro- A origem tem de permanecer válida enquanto o documento carregado está em uso; passe
OwnsSource = Truea LoadFromRandomAccessSource para que o HotPDF liberta a origem automaticamente