THotPDF.GetProgressiveLinearizedLoadInfo Method
Validates a bounded linearization header and reports the self-contained first-page range
Declaration
function GetProgressiveLinearizedLoadInfo(Source: THPDFRandomAccessSource; out Info: THPDFProgressiveLoadInfo): boolean;
Unit
HPDFDoc
Parameters
| Name | Purpose |
|---|---|
Source | Random-access source that can report independently available ranges |
Info | Receives validated linearization offsets, range flags, status and diagnostics |
Return value
Returns True when a valid linearization dictionary was parsed, even if required ranges are still unavailable
Usage notes
- The bounded header probe uses the strict page-range parser and validates /L, /H, /O, /E, /N, /T, token structure and the containing indirect object
- First-page readiness requires only the zero-based section
[0, /E)and does not depend on the main cross-reference tail - Legal short reads are accumulated until each bounded request is complete, with cancellation checked between reads
- The method does not take ownership of Source
Arbitrary-page range planning
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;
The planner decodes raw or Flate primary and overflow hint streams, maps the requested page through /P, includes the complete bootstrap plus referenced shared-object groups and cross-reference data, accepts LF and CRLF traditional-xref entry-zero prefixes and returns sorted minimal byte ranges
The first-page plan always uses the self-contained [0, /E) section and does not require hint decoding
The default accepts interoperable byte-aligned rows with one combined shared-object sequence and the continuous MSB-first split sequence described by Annex F; HintEncoding identifies the selected interpretation, equivalent dual interpretations remain explicit and conflicting interpretations fail closed
AllowRowAlignedHints defaults to True and can be disabled for Annex F-only validation
Resource limits cover decoded hint bytes, page count, shared groups and references, range count, merge gap, total planned bytes, and planner memory with a 256 MiB default ceiling; an alternate hint interpretation that cannot be checked within that ceiling fails closed, whilst limit, filter, hint, xref, availability and page-index failures have distinct THPDFLinearizedPagePlanStatus values