Hybrid-reference PDF ファイルは、単一のインクリメンタル更新リビジョン内に、従来型のクロスリファレンステーブルとクロスリファレンスストリームの両方を含む PDF ドキュメントです。この二重参照構造は、古い PDF リーダーとの下位互換性を維持しながら、最新の PDF プロセッサが PDF 1.5 で導入された圧縮されたストリームベースのクロスリファレンス形式を活用できるように特別に設計されています。
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
によれば、このアプローチは、異なるリビジョンで従来型のクロスリファレンスセクションとクロスリファレンスストリームを別々に使用する PDF ファイルと混同してはなりません。後者は単なる標準的なインクリメンタル更新パターンです。
Hybrid-reference PDF ファイルは、同一のインクリメンタル更新セクション内に、従来型のクロスリファレンステーブルとクロスリファレンスストリームが共存していることを特徴とします。従来型のクロスリファレンステーブルは、元のクロスリファレンス形式(PDF 1.4 以前)のみを理解する PDF リーダーに対して互換性を提供し、一方、クロスリファレンスストリームは、PDF 1.5 以降の仕様をサポートする最新のリーダーに対して同じ情報をより効率的で圧縮された形式で提供します。
Trailer dictionaryは、PDFファイルの末尾に配置される重要なデータ構造であり、文書の構造とメタデータにアクセスするためのエントリーポイントとして機能します。
(
Citation: N.A., 2020
(N.A.).
(2020).
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ファイルは、有効とみなされるために少なくとも1つのTrailer dictionaryを含む必要があります。
Trailer dictionaryは、PDFファイルの末尾近くにあるクロスリファレンステーブル(またはクロスリファレンスストリーム)の後に現れるPDF dictionaryオブジェクトです。文書の基本的な構造要素を指し示すマップとして機能します。Trailer dictionaryは、ファイル構造内での特定の位置と、PDFプロセッサーの初期アクセスポイントとしての役割によって、他のPDF dictionaryと区別されます。
Trailer dictionaryの主要なエントリーには以下が含まれます:
- Root – 文書のオブジェクト階層のルートとなる文書カタログdictionaryへの必須参照
- Info – タイトル、著者、作成日などのメタデータを含む文書情報dictionaryへのオプション参照
- ID – PDFファイルを一意に識別し、変更を検出するために使用されるファイル識別子配列
- Size – クロスリファレンステーブルのエントリー総数
- Prev – 増分更新されたPDFにおいて、前のクロスリファレンスセクションへのバイトオフセット
- Encrypt – 存在する場合、保護された文書の暗号化dictionaryを参照
文書のコンテンツを整理する文書カタログ(Root)とは異なり、Trailer dictionaryは特にファイルレベルのナビゲーションとバージョン追跡を管理します。
xref subsectionは、PDF のクロスリファレンス(xref)テーブル内の構造要素であり、連続して番号付けされたオブジェクトのエントリをグループ化します。
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
によると、各subsectionは開始オブジェクト番号とエントリ数を指定するヘッダー行から始まり、その範囲内の各オブジェクトに対する個別のエントリが続きます。単一のxrefテーブル内に複数のsubsectionが存在することで、連続していないオブジェクト番号に対応できます。
xref subsectionは、より大きなxrefテーブル構造内の連続したクロスリファレンスエントリのブロックを表します。各subsectionは2つの部分で構成されます。1つ目は2つの整数(最初のエントリのオブジェクト番号とsubsection内のエントリ総数)を含むヘッダー行、2つ目はその数だけの20バイトのエントリ行です。各エントリ行は、特定のオブジェクトのバイトオフセット、世代番号、ステータス(使用中または空き)を提供します。
多くの非連続なオブジェクト番号にまたがる可能性がある完全なxrefテーブルとは異なり、subsectionは番号が途切れない連続したシーケンスを形成するオブジェクトを具体的に処理します。オブジェクトが削除された場合やインクリメンタル更新によって新しいオブジェクトが追加された場合など、PDF全体でオブジェクト番号が連続していない場合、xrefテーブルは複数のsubsectionを使用して、実際に存在するオブジェクトの範囲のみを効率的に表現します。
xref subsectionを理解することは、PDFファイル構造を扱う開発者、特にPDFライター、パーサー、またはインクリメンタル更新を実行するツールを実装する開発者にとって不可欠です。subsection構造は、各subsectionが特定範囲のオブジェクトへのロードマップを提供するため、コードがPDFファイル内のオブジェクトを検索する効率性に直接影響します。
XRef viewerは、PDF文書のクロスリファレンス(XRef)テーブルを検査するための専門的な診断ツールです。これにより、開発者はファイル構造内のすべてのオブジェクトの正確なバイト位置と状態を確認できます。XRefテーブルは文書の内部インデックスとして機能し、
(
Citation: N.A., 2020
(N.A.).
(2020).
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リーダーが文書オブジェクトをどのように検索・読み込むかを理解するために不可欠です。
XRef viewerは、PDFのクロスリファレンス構造の内容を解析し、人間が読める形式で表示するために設計されたツールです。視覚的なコンテンツをレンダリングする標準的なPDFビューアとは異なり、XRef viewerはオブジェクト番号、バイトオフセット、世代番号、オブジェクトの状態(使用中、空き、または圧縮済み)を表示することで、基盤となるファイル構造を公開します。これらのツールは、従来のXRefテーブル(プレーンテキストのテーブルとしてフォーマットされたもの)と圧縮されたXRefストリーム(PDF 1.5で導入)の両方を表示でき、低レベルのファイル構成を開発者に可視化します。XRef viewerは、コンテンツの検証やレンダリング診断ではなく、文書のオブジェクトアドレス指定メカニズムに特化している点で、一般的なPDFデバッグツールとは異なります。
XRef構造の理解は、PDF生成ライブラリの開発、インクリメンタル更新機能の実装、またはファイル破損問題のトラブルシューティングを行う際に重要です。PDFが開けない、または正しく表示されない場合、XRef viewerツールは、不正なバイトオフセット、壊れたオブジェクトチェーン、または不正なインクリメンタル更新などの問題を特定するのに役立ちます。これらのツールは、デジタル署名された文書やインクリメンタル更新を使用するフォームを扱う際に特に有用です。複数の文書リビジョンが単一ファイル内にどのように共存しているかを明らかにするためです。PDF修復ユーティリティやフォレンジック分析ツールを実装する開発者にとって、XRef viewerは文書オブジェクトグラフを再構築し、破損したファイルを復元するために必要な基礎的な洞察を提供します。
XRefテーブル(クロスリファレンス・テーブル)は、PDFファイルにおける基本的なデータ構造であり、オブジェクト番号とファイル内の物理的なバイトオフセットを対応付けます。このインデックス機構により、PDFリーダーは文書全体をスキャンすることなく、任意のオブジェクトを迅速に特定してアクセスできます
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
。XRefテーブルは通常PDFファイルの末尾近くに配置され、効率的な文書の解析とレンダリングに不可欠な要素です。
XRefテーブルは、PDFファイル内のすべての間接オブジェクトの正確な位置を保持するインデックス構造です。テーブル内の各エントリはオブジェクト番号に対応し、ファイルの先頭からのバイトオフセット(そのオブジェクトが見つかる位置)、またはオブジェクトが未使用である(削除済み、または未使用)ことを示す情報を含みます。テーブルは1つ以上のサブセクションで構成され、各サブセクションは連続するオブジェクト番号の範囲を含みます。単純な順次スキャンとは異なり、XRefテーブルは任意のオブジェクトへの直接的なランダムアクセスを提供し、
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
で定義されているPDFの効率的なファイル構造における重要なコンポーネントとなっています。
Hybrid-reference PDF ファイルとは、同一ファイル内に標準的なクロスリファレンステーブルとクロスリファレンスストリームの両方によって参照されるオブジェクトを含む PDF 1.5(またはそれ以降)のドキュメントです
(
Citation: N.A., 2020
(N.A.).
(2020).
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 リーダーに対する後方互換性が共存できます。Hybrid-reference ファイルは、現代の PDF ライターが既存の PDF ドキュメントにコンテンツを追加する際のインクリメンタルアップデート(増分更新)によって一般的に作成されます。
Hybrid-reference PDF は、単一の PDF ファイル内でオブジェクトの位置を追跡する2つの異なる方法を組み合わせたものです。従来のクロスリファレンステーブル(PDF 1.0 以降で使用)は、各オブジェクトのバイトオフセットをリストアップするプレーンテキスト構造です。一方、クロスリファレンスストリーム(PDF 1.5 で導入)は、同じ目的をより効率的に果たす圧縮されたバイナリストリームです。Hybrid-reference ファイルでは、一部のオブジェクトは従来のテーブルを通じて参照され、他のオブジェクトはストリームを通じて参照されます。これは通常、異なる機能を持つ複数の PDF プロセッサによってファイルがインクリメンタルに更新されたためです。
Fast Web View(高速Web表示)は、線形化(linearization)または線形化PDFとも呼ばれ、PDFファイル全体のダウンロードが完了する前に、Webブラウザでページ単位での表示を可能にするファイル構造最適化技術です。
(
Citation: N.A., 2020
(N.A.).
(2020).
Document management — Portable document format — Part 2: PDF 2.0
.
International Organization for Standardization
Retrieved from
https://www.iso.org/standard/75839.html
)
で定義されているように、線形化PDFは文書の内部構造を再編成し、最初のページを表示するために必要なオブジェクトをファイルの先頭に配置します。これにより、WebサーバーはPDFコンテンツを効率的にストリーミングでき、HTTP接続を介してPDFにアクセスする際のユーザーエクスペリエンスが大幅に向上します。
Fast Web Viewは、
(
Citation: N.A., 2020
(N.A.).
(2020).
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はオブジェクトを慎重に並べ替えたシーケンスで配置し、ファイルの先頭に線形化辞書を持ちます。この辞書には、ページ境界、オブジェクトの場所、相互参照情報など、文書構造に関するメタデータが含まれています。