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 source being planned
PageIndexRequested zero-based page, or -1 for bootstrap plans that cover the header alone
FirstPageIndex / PageCountFirst-page index and page count taken from the linearization header
FirstPageEndOffset / MainXRefOffsetHeader's /E and /T values: the end of the first-page section and the offset of the main cross-reference
PageObjectNumber / PageObjectCountObject number of the requested page and the number of objects in its object list
PageOffset / PageLengthByte range covered by 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 no such stream
SharedGroupCount / CrossReferenceEntryCountShared-object groups planned for the page and cross-reference entries covered by the plan
HintBytesDecodedHint payload bytes actually decoded whilst building the plan
RequiredBytesTotal bytes that have to transfer to render the page
TransferRatioRequiredBytes divided by FileLength; zero when planning did not succeed
RangeCount / DependencyRangeCountNumber of entries in Ranges and in DependencyRanges
AllRangesAvailabletrue when all of the planned ranges are present in the random-access source
UsesCrossReferenceStreamtrue when the plan was built against a cross-reference stream instead of a classic table
HintEncodingTHPDFLinearizedHintEncoding layout spotted in the hint streams
RangesOrdered byte ranges to fetch for the requested page, bootstrap and cross-reference ranges included as set by the options
DependencyRangesByte ranges for the shared objects the page depends upon
DiagnosticFail-closed reason text when Status reports a failure

Usage notes

Related APIs