Klasa THPDFRandomAccessSource
Abstrakcyjna klasa bazowa, która pozwala THotPDF.LoadFromRandomAccessSource wczytać plik PDF z dowolnego zdefiniowanego przez wywołującego przesuwalnego magazynu bajtów bez wymagania implementacji TStream
Deklaracja
THPDFRandomAccessSource = class
public
function GetSize: Int64; virtual; abstract;
function ReadAt(Offset: Int64; var Buffer;
Count: Longint): Longint; virtual; abstract;
end;
Jednostka
HPDFDoc
Elementy członkowskie
| Nazwa | Przeznaczenie |
|---|---|
GetSize | Zwraca stabilną długość w bajtach magazynu zapasowego |
ReadAt | Odczytuje Count bajtów począwszy od Offset do Buffer |
Uwagi dotyczące użycia
- Wyprowadź podklasę i przesłoń obie metody abstrakcyjne, aby dostosować HotPDF do żądań zakresowych HTTP, obiektów BLOB bazy danych, skompresowanych archiwów, zaszyfrowanych woluminów lub dowolnego magazynu wirtualnego mogącego dostarczać bajty według przesunięcia
GetSizemusi zwracać stabilną, nieujemną długość w bajtach przez cały czas życia wczytywania; HotPDF analizuje tabele odsyłaczy krzyżowych i strumienie obiektów, przemieszczając się przez to źródłoReadAtzwraca liczbę faktycznie przesłanych bajtów (od zera doCount); parser traktuje skrócony odczyt na udokumentowanym końcu pliku jako koniec strumienia, a nie jako błąd- Źródło musi pozostawać ważne podczas używania wczytanego dokumentu; przekaż
OwnsSource = Truedo LoadFromRandomAccessSource, aby HotPDF zwolnił źródło automatycznie