THotPDF.OpenLoadedPageContentStream

読み込みページの /Contents 値を、呼び出し側所有の読み取り専用論理ストリームとして 1 つにまとめて開きます

Delphi 宣言

function OpenLoadedPageContentStream(
  PageIndex: Integer;
  out ContentStream: TStream
): boolean;

C++Builder 宣言

bool __fastcall OpenLoadedPageContentStream(
  int PageIndex,
  System::Classes::TStream *&ContentStream
);

0 始まりの読み込みページに有効なコンテンツストリームが 1 つでもあれば、結果は true になります

動作

単一のコンテンツストリームも /Contents 配列も同じインターフェースを使い、隣接するセグメント間には 1 バイトの line-feed を挿入して、トークンがセグメント境界をまたいで融合しないようにします

フィルタされていないセグメントはソース参照のままで完全な実体化なしに読まれ、フィルタされたセグメントは 1 つの適応的テンポラリストリームへ遅延デコードされ、走査が別の場所へ移ると前のデコード済みセグメントは解放されます

フィルタ済みセグメントの長さは必要になった時点で判明するため、既知の接頭辞を読んでも後続のセグメントはデコードされません。Size を要求したり末尾からのシークを行うと、残りすべての長さが解決されます

このストリームはランダム読み取りとシークをサポートしますが、Write と SetSize は拒否します

所有権

呼び出し側は ContentStream を解放する必要があり、所有する THotPDF インスタンスとその読み込みドキュメントは、返されたストリームより長く生存しなければなりません

シーケンスの処理量と保持メモリのテレメトリを確認するには GetLastPageContentSequenceInfo を使ってください