Classe THPDFRandomAccessSource
Classe base abstrata que permite a THotPDF.LoadFromRandomAccessSource carregar um PDF de qualquer armazenamento de bytes com busca definido pelo chamador, sem exigir uma implementação de 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 | Finalidade |
|---|---|
GetSize | Retorna o comprimento de bytes estável do armazenamento de suporte |
ReadAt | Lê Count bytes começando em Offset para Buffer |
Notas de uso
- Derive uma subclasse e sobrescreva ambos os métodos abstratos para adaptar o HotPDF a solicitações de intervalo HTTP, BLOBs de banco de dados, arquivos compactados, volumes criptografados ou qualquer armazenamento virtual que possa fornecer bytes por deslocamento
GetSizedeve retornar um comprimento de bytes estável e não negativo pelo tempo de vida do carregamento; o HotPDF analisa as tabelas de referência cruzada e os fluxos de objetos por meio de buscas nessa origemReadAtretorna o número de bytes realmente transferidos (de zero aCount); o analisador trata uma leitura curta no final do arquivo documentado como fim de fluxo, não como erro- A origem deve permanecer válida enquanto o documento carregado estiver em uso; passe
OwnsSource = Truepara LoadFromRandomAccessSource para que o HotPDF libere a origem automaticamente