THotPDF.GetProgressiveLinearizedLoadInfo メソッド

上限付きの linearization ヘッダを検証し、自己完結する最初のページ範囲を報告します

宣言

function GetProgressiveLinearizedLoadInfo(Source: THPDFRandomAccessSource; out Info: THPDFProgressiveLoadInfo): boolean;

ユニット

HPDFDoc

パラメータ

名前目的
Source独立して利用可能な範囲を報告できる random-access ソース
Info検証済みの linearization オフセット、範囲フラグ、ステータス、診断を受け取る

戻り値

有効な linearization 辞書をパースできれば True を返します。必要な範囲がまだ利用できなくても同様です

使用上の注意

任意ページ範囲の計画

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;

プランナーは生または Flate の primary / overflow hint ストリームをデコードし、要求されたページを /P で対応付け、完全なブートストラップに参照される共有オブジェクトグループと cross-reference データを含め、LF と CRLF の traditional-xref エントリ 0 接頭辞を受け入れ、ソート済みの最小バイト範囲を返します

最初のページの計画は常に自己完結する [0, /E) セクションを使い、hint のデコードを必要としません

デフォルトでは、1 つの結合 shared-object シーケンスを持つ相互運用可能なバイト境界整列行と、Annex F が記述する連続的な MSB 先頭の分割シーケンスを受け入れます。HintEncoding が選択された解釈を識別し、等価な 2 通りの解釈は明示的なまま残り、矛盾する解釈はフェイルクローズします

AllowRowAlignedHints は既定で True で、Annex F 専用の検証にする場合は無効化できます

リソース上限は、デコードされた hint バイト数、ページ数、共有グループと参照、範囲数、マージギャップ、計画された合計バイト数、既定で 256 MiB 天井のプランナーメモリを対象とします。この天井内で検証できない代替 hint 解釈はフェイルクローズし、上限・filter・hint・xref・可用性・ページインデックスの失敗にはそれぞれ異なる THPDFLinearizedPagePlanStatus 値が割り当てられます

関連 API