THotPDF.GetProgressiveLinearizedLoadInfo Method
Проверяет ограниченный заголовок линеаризации и сообщает самодостаточный диапазон первой страницы
Объявление
function GetProgressiveLinearizedLoadInfo(Source: THPDFRandomAccessSource; out Info: THPDFProgressiveLoadInfo): boolean;
Модуль
HPDFDoc
Параметры
| Имя | Назначение |
|---|---|
Source | Источник произвольного доступа, умеющий сообщать независимо доступные диапазоны |
Info | Получает проверенные смещения линеаризации, флаги диапазонов, статус и диагностику |
Возвращаемое значение
Возвращает True, если корректный словарь линеаризации был разобран, даже если нужные диапазоны ещё недоступны
Примечания по использованию
- Ограниченная проба заголовка использует строгий парсер диапазонов страниц и проверяет /L, /H, /O, /E, /N, /T, структуру token и содержащий косвенный объект
- Готовность первой страницы требует только секции
[0, /E)(отсчёт от нуля) и не зависит от основного хвоста перекрёстных ссылок - Корректные короткие чтения накапливаются, пока каждый ограниченный запрос не будет завершён, с проверкой отмены между чтениями
- Метод не получает владение Source
Планирование диапазонов для произвольных страниц
function PlanProgressiveLinearizedPageRanges(Source: THPDFRandomAccessSource; PageIndex: Integer; out Plan: THPDFLinearizedPageRangePlan): boolean; overload;
function PlanProgressiveLinearizedPageRanges(Source: THPDFRandomAccessSource; PageIndex: Integer; const Options: THPDFLinearizedPageRangeOptions; out Plan: THPDFLinearizedPageRangePlan): boolean; overload;
Планировщик декодирует основной и overflow hint stream в кодировке raw или Flate, отображает запрошенную страницу через /P, включает полный bootstrap плюс упомянутые группы shared-object и данные перекрёстных ссылок, допускает префиксы entry-zero традиционного xref с LF и CRLF и возвращает отсортированные минимальные диапазоны байтов
План первой страницы всегда использует самодостаточную секцию [0, /E) и не требует декодирования hint
По умолчанию принимаются совместимые byte-выровненные строки с одной объединённой последовательностью shared-object и непрерывной разделённой последовательностью MSB-first из Annex F; HintEncoding указывает выбранную интерпретацию, эквивалентные двойственные интерпретации остаются явными, а конфликтующие интерпретации завершаются отказом
AllowRowAlignedHints по умолчанию True и может быть отключён для проверки только по Annex F
Лимиты ресурсов покрывают декодированные байты hint, количество страниц, группы shared-object и ссылки, количество диапазонов, merge gap, суммарный объём запланированных байтов и память планировщика с потолком по умолчанию 256 MiB; альтернативная интерпретация hint, которую нельзя проверить в этом потолке, завершается отказом, а сбои лимита, filter, hint, xref, доступности и индекса страницы имеют отдельные значения THPDFLinearizedPagePlanStatus