THPDFLinearizedPageRangePlan Record

The byte-range plan for progressively reading one page of a linearized file: status and diagnostic, parsed header offsets, page object facts, hint stream placement, shared-group facts, transfer totals, and the ordered byte ranges

Declaration

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;

Unit

HPDFDoc

Fields

FieldPurpose
StatusTHPDFLinearizedPagePlanStatus outcome: ready, not linearized, unsupported cross-reference, limits exceeded, or ranges unavailable
FileLengthTotal size of the planned source
PageIndexRequested zero-based page, or -1 for header-only bootstrap plans
FirstPageIndex / PageCountFirst-page index and page count parsed from the linearization header
FirstPageEndOffset / MainXRefOffsetHeader's /E and /T values: end of the first-page section and offset of the main cross-reference
PageObjectNumber / PageObjectCountObject number of the requested page and number of objects in its object list
PageOffset / PageLengthByte range of the page's section in the file
PrimaryHintOffset / PrimaryHintLengthPlacement of the primary hint stream
OverflowHintOffset / OverflowHintLengthPlacement of the overflow hint stream, zero and empty when there is none
SharedGroupCount / CrossReferenceEntryCountShared-object groups planned for the page and cross-reference entries covered by the plan
HintBytesDecodedHint payload bytes actually decoded while building the plan
RequiredBytesTotal bytes that must transfer to render the page
TransferRatioRequiredBytes divided by FileLength; zero when planning failed
RangeCount / DependencyRangeCountNumber of entries in Ranges and in DependencyRanges
AllRangesAvailabletrue when every planned range is present in the random-access source
UsesCrossReferenceStreamtrue when the plan was built against a cross-reference stream rather than a classic table
HintEncodingTHPDFLinearizedHintEncoding layout detected in the hint streams
RangesOrdered byte ranges to fetch for the requested page, including bootstrap and cross-reference ranges per the options
DependencyRangesByte ranges for shared objects the page depends on
DiagnosticFail-closed reason text when Status reports a failure

Usage notes

Related APIs