Skip to main content
Interwork Corporation
IDR Solutions Product Support Portal
PDF開発用語集 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動 モードの切替 ダーク/ライト/自動

PDF stream indexing

PDFストリームインデックスとは、PDFファイル構造内のストリームオブジェクトを体系的に整理・参照し、コンテンツデータへの効率的なアクセスと取得を可能にする仕組みです。

カテゴリ: General PDF Concepts
キーワード: pdf stream indexing, PDF stream indexing

概要

PDFストリームインデックスとは、PDFファイル構造内のストリームオブジェクトを体系的に整理・参照し、コンテンツデータへの効率的なアクセスと取得を可能にする仕組みです。 ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) で定義されているように、PDF文書内のストリームには、テキスト、画像、フォント、メタデータなどの実際のコンテンツが含まれています。これらのストリームを適切にインデックス化することは、PDFプロセッサが文書全体を解析することなく特定のコンテンツを迅速に検索してレンダリングするために不可欠です。このインデックス機構は、現代のPDFワークフローにとって重要な、シーケンシャルアクセスとランダムアクセスの両方のパターンをサポートします。

定義

PDFストリームインデックスは、PDF内部アーキテクチャ内でストリームオブジェクトへの参照を作成・維持する構造的な概念です。単純なファイルオフセットやバイト位置とは異なり、PDFストリームインデックスはオブジェクトレベルで動作し、各ストリームはオブジェクト番号と世代番号のペアによって識別されます。PDFファイルのクロスリファレンステーブル(xrefテーブル)またはクロスリファレンスストリームが主要なインデックスとして機能し、オブジェクト識別子をファイル内のバイトオフセットにマッピングします ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html )

これは、外部インデックスシステム(全文検索インデックスなど)とは異なり、PDF仕様自体の本質的な部分です。ストリームインデックスは、コンテンツストリーム解析とも区別されます。インデックスはストリームが格納されている場所を特定するのに対し、解析はそれらのストリーム内のコンテンツを解釈します。Tagged PDF構造 ( Citation: , (). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) では、論理構造要素と対応するコンテンツストリームの間を効率的にマッピングする必要があるため、ストリームインデックスがさらに重要になります。

重要性

PDF生成、操作、レンダリングに携わる開発者にとって、ストリームインデックスの理解はアプリケーションのパフォーマンスと信頼性に直接影響します。効率的なストリームインデックスにより、PDFビューアはファイル全体をメモリにロードすることなく、即座のページ表示、サムネイル生成、インクリメンタルな文書更新などの機能を実装できます。数百ページや埋め込みマルチメディアを含む大規模なPDFを扱う場合、適切なインデックスはレスポンシブなユーザーエクスペリエンスと動作の遅いユーザーエクスペリエンスの違いを生む可能性があります。

ストリームインデックスは、アクセシビリティ実装においても重要です。PDF/UA準拠文書 ( Citation: N.A., (N.A.). (). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html ) では、タグ付けされたコンテンツとレンダリングストリーム間の適切な構造的関係が必要であり、これは正確なインデックスに依存します。PDF処理ツールを作成する開発者は、従来のクロスリファレンステーブルと新しい圧縮クロスリファレンスストリームの両方を処理し、文書の変更中にインデックスの整合性を維持しながら、PDFバージョン間の互換性を確保する必要があります。

仕組み

PDFストリームインデックスは、ファイルのトレーラー辞書を基点とする多層システムを通じて動作します。ファイルの作成または変更時に、PDFライターはクロスリファレンステーブル(PDF 1.5以降ではクロスリファレンスストリーム)を構築し、すべてのストリームオブジェクトを含む、すべての間接オブジェクトのバイトオフセットを記録します ( Citation: N.A., (N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html ) 。このテーブルは通常ファイルの終わり近くに配置され、トレーラーがその開始位置を指しています。

PDFリーダーが文書を開くと、まずファイルの終わりから後方にスキャンしてトレーラーを見つけ、次にクロスリファレンス情報を読み取ってすべてのオブジェクトの内部インデックスを構築します。Linearized PDF(Web表示用に最適化されたもの)の場合、特別なヒントストリームがページ単位のダウンロードを可能にする追加のインデックス情報を提供します。ストリームオブジェクト自体はインデックスで識別されますが、レンダリングエンジンから明示的に要求されるまで圧縮されたままで読み取られません。

インクリメンタル更新により、ストリームインデックスに複雑さが加わります。クロスリファレンステーブル全体を書き直す代わりに、PDFプロセッサは以前のエントリを上書きする新しいセクションを追加できます。これにより、任意のストリームオブジェクトの現在の位置を見つけるために、複数のxrefセクションを時系列の逆順で参照する必要がある階層化されたインデックスが作成されます。最新のPDFプロセッサは、アクセスパターンを最適化するために、これらのインデックスを再構築またはフラット化することがよくあります。

関連用語

  • クロスリファレンステーブル(Cross-reference table) – PDFファイル内のオブジェクト番号をバイトオフセットにマッピングするインデックス構造
  • ストリームオブジェクト(Stream object) – コンテンツ、画像、メタデータなどのデータシーケンスを含むPDFオブジェクトタイプ
  • オブジェクト番号(Object number) – PDF文書内の間接オブジェクトに割り当てられる一意の識別子
  • Linearized PDF – Web ベースのページ単位アクセス用にストリームインデックスを最適化したファイル構成
  • インクリメンタル更新(Incremental update) – ファイル全体を書き直すことなく新しいコンテンツとインデックスエントリを追加するPDF変更技術

出典

(N.A.) (2020)
(N.A.). (). Document management — Portable document format — Part 2: PDF 2.0 International Organization for Standardization Retrieved from https://www.iso.org/standard/75839.html
PDF Association (2023)
(). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
(N.A.) (2014)
(N.A.). (). Document management applications — Electronic document file format enhancement for accessibility — Part 1: Use of ISO 32000-1 (PDF/UA-1) International Organization for Standardization Retrieved from https://www.iso.org/standard/64599.html