Клас THPDFRandomAccessSource
Абстрактний базовий клас, що дозволяє THotPDF.LoadFromRandomAccessSource завантажувати PDF із будь-якого визначеного викликом сховища байтів з довільним доступом без потреби в реалізації TStream
Оголошення
THPDFRandomAccessSource = class
public
function GetSize: Int64; virtual; abstract;
function ReadAt(Offset: Int64; var Buffer;
Count: Longint): Longint; virtual; abstract;
end;
Модуль
HPDFDoc
Члени
| Ім'я | Призначення |
|---|---|
GetSize | Повертає стабільну байтову довжину резервного сховища |
ReadAt | Читає Count байтів, починаючи зі зміщення Offset, у Buffer |
Примітки щодо використання
- Створіть похідний підклас і перевизначте обидва абстрактні методи, щоб адаптувати HotPDF до запитів HTTP-діапазонів, BLOB баз даних, стиснених архівів, зашифрованих томів чи будь-якого віртуального сховища, що може надавати байти за зміщенням
GetSizeмає повертати стабільну, невід'ємну байтову довжину протягом усього часу завантаження; HotPDF розбирає таблиці перехресних посилань та об'єктні потоки через позиціювання у цьому джереліReadAtповертає кількість фактично переданих байтів (від нуля доCount); парсер трактує коротке читання на задокументованому кінці файлу як кінець потоку, а не як помилку- Джерело має залишатися дійсним, поки завантажений документ використовується; передайте
OwnsSource = Trueу LoadFromRandomAccessSource, щоб HotPDF автоматично звільнив джерело