Object number
Object numberは、PDFファイル内で間接オブジェクトを一意に識別するための正の整数です。
Object numberは、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 ) で定義されているように、各間接オブジェクトはobject numberと世代番号を組み合わせたオブジェクト識別子によって参照され、PDF内の他のオブジェクトがそれを参照できるようになります。Object numberはPDFの構造において基本的な要素であり、ランダムアクセスや増分更新を可能にするクロスリファレンスシステムを実現しています。
Object numberは、PDFの構文における間接オブジェクト宣言の最初の構成要素です。PDFファイル内で12 0 objという記述を見た場合、12がobject number、0が世代番号、そしてobjがオブジェクト定義の開始を示すマーカーです。Object numberは1から順番に割り当てられ(object number 0は予約されています)、PDF文書内で一意である必要があります。インラインで埋め込まれる直接オブジェクトとは異なり、間接オブジェクトはこれらの番号を使用して、文書構造全体にわたるアドレス可能な参照システムを確立します。
Object numberは世代番号とは目的と動作の両面で異なります。Object numberはファイル内のオブジェクトの位置に対して固定されたままですが、世代番号は増分更新でそのオブジェクトが更新または置き換えられた際に増加します。両者が組み合わさって完全なオブジェクト識別子を形成しますが、object numberが位置と参照の主要な手段となります。
PDFファイルを扱う開発者にとって、object numberの理解はいくつかの実務的なタスクにおいて不可欠です。PDFをプログラム的に解析または生成する際には、文書の内部参照構造を維持するためにobject numberを追跡する必要があります。PDF生成ライブラリを実装する場合、各間接オブジェクトに一意のobject numberを割り当て、これらの番号をファイル内のバイトオフセットにマッピングする正確なクロスリファレンステーブルを維持する必要があります。
Object numberは、PDFファイルのデバッグや修復メカニズムの実装においても重要です。PDFリーダーが「Cannot find object 47」というエラーを報告する場合、これはobject numberを参照しており、ファイル構造内の問題のある特定の要素を特定するのに役立ちます。PDF結合などの文書操作タスクでは、重複するobject number範囲を持つ文書を結合する際に、競合を避けるためにオブジェクトの番号を振り直す必要があります。
Object numberシステムは、クロスリファレンステーブル(または最新のPDFではクロスリファレンスストリーム)を通じて機能し、object numberとファイル内のバイト位置とのマッピングを維持します。PDFリーダーが12 0 R(Rは参照を示します)として参照されているオブジェクトにアクセスする必要がある場合、クロスリファレンステーブルでobject number 12を検索し、12 0 objが始まる正確なファイル位置を見つけます。
Object numberは通常、オブジェクトがファイルに書き込まれる順序で割り当てられますが、PDF仕様ではこれは必須ではありません。PDFのトレーラー辞書は、/Sizeエントリを通じてオブジェクトの総数を指定し、これは最大のobject numberに1を加えた値を示します。増分更新を実行する際、新しいオブジェクトは未使用のobject numberを受け取り、変更されたオブジェクトは元のobject numberを世代番号をインクリメントして再利用することができます。
Object numberを使用した参照メカニズムにより、PDFの効率的な構造が実現されます。画像やフォントなどの大きなオブジェクトをobject numberで一度定義し、文書全体で複数回参照することで、重複を避けることができます。これは ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) において特に重要であり、論理構造ツリーが構造要素とコンテンツストリームを接続するためにオブジェクト参照を広範に使用しています。
- Indirect object(間接オブジェクト) – Object numberによって識別され、他のオブジェクトから参照できるPDFオブジェクト
- Generation number(世代番号) – オブジェクト識別子の2番目の構成要素で、特定のobject numberにおけるオブジェクトのバージョンを追跡する
- Cross-reference table(クロスリファレンステーブル) – Object numberをPDFファイル内のバイト位置にマッピングするインデックス
- Object reference(オブジェクト参照) –
n g Rの形式でobject numberと世代番号を使用した間接オブジェクトへのポインタ - Trailer dictionary(トレーラー辞書) – PDFファイルの末尾にある辞書で、オブジェクト数を含むファイル構造に関するメタデータを含む
- (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 Association (2023)
- PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
