Запись THPDFLinearizedPageRangePlan

План диапазонов байтов для прогрессивного чтения одной страницы линеаризованного файла: статус и диагностика, разобранные смещения заголовка, факты о странице-объекте, размещение hint-потоков, факты о группах общих объектов, итоги передачи и упорядоченные диапазоны байтов

Объявление

THPDFLinearizedPageRangePlan= record
  Status: THPDFLinearizedPagePlanStatus;
  FileLength: Int64;
  PageIndex: Integer;
  FirstPageIndex: Integer;
  PageCount: Integer;
  FirstPageEndOffset: Int64;
  MainXRefOffset: Int64;
  PageObjectNumber: Integer;
  PageObjectCount: Integer;
  PageOffset: Int64;
  PageLength: Int64;
  PrimaryHintOffset: Int64;
  PrimaryHintLength: Int64;
  OverflowHintOffset: Int64;
  OverflowHintLength: Int64;
  SharedGroupCount: Integer;
  CrossReferenceEntryCount: Integer;
  HintBytesDecoded: Int64;
  RequiredBytes: Int64;
  TransferRatio: Double;
  RangeCount: Integer;
  DependencyRangeCount: Integer;
  AllRangesAvailable: boolean;
  UsesCrossReferenceStream: boolean;
  HintEncoding: THPDFLinearizedHintEncoding;
  Ranges: THPDFLinearizedByteRangeArray;
  DependencyRanges: THPDFLinearizedByteRangeArray;
  Diagnostic: AnsiString;
end;

Модуль

HPDFDoc

Поля

ПолеНазначение
StatusИсход THPDFLinearizedPagePlanStatus: готов, не линеаризован, неподдерживаемый cross-reference, превышены пределы или диапазоны недоступны
FileLengthПолный размер планируемого источника
PageIndexЗапрошенная страница с нумерацией от нуля или -1 для bootstrap-планов только с заголовком
FirstPageIndex / PageCountИндекс первой страницы и число страниц, разобранные из заголовка линеаризации
FirstPageEndOffset / MainXRefOffsetЗначения /E и /T заголовка: конец секции первой страницы и смещение главного cross-reference
PageObjectNumber / PageObjectCountНомер объекта запрошенной страницы и число объектов в её списке объектов
PageOffset / PageLengthДиапазон байтов секции страницы в файле
PrimaryHintOffset / PrimaryHintLengthРазмещение основного hint-потока
OverflowHintOffset / OverflowHintLengthРазмещение overflow hint-потока; нули и пусто, когда его нет
SharedGroupCount / CrossReferenceEntryCountГруппы общих объектов, запланированные для страницы, и записи cross-reference, охваченные планом
HintBytesDecodedБайты полезной нагрузки hint-данных, фактически декодированные при построении плана
RequiredBytesСуммарное число байтов, которые нужно передать для отрисовки страницы
TransferRatioRequiredBytes, делённые на FileLength; ноль при неудаче планирования
RangeCount / DependencyRangeCountЧисло записей в Ranges и в DependencyRanges
AllRangesAvailabletrue, когда каждый запланированный диапазон присутствует в источнике с произвольным доступом
UsesCrossReferenceStreamtrue, когда план построен по cross-reference-потоку, а не по классической таблице
HintEncodingРаскладка THPDFLinearizedHintEncoding, обнаруженная в hint-потоках
RangesУпорядоченные диапазоны байтов для загрузки запрошенной страницы, включая bootstrap- и cross-reference-диапазоны согласно опциям
DependencyRangesДиапазоны байтов общих объектов, от которых зависит страница
DiagnosticТекст причины при отказе, когда Status сообщает о неудаче

Примечания по использованию

Связанные API