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

ナンバーツリー(Number tree)

ナンバーツリーは、PDF仕様で定義された特殊なツリー構造であり、整数からPDFオブジェクトへの効率的なマッピングを提供します。

カテゴリ: PDF Core Syntax
キーワード: number tree, ナンバーツリー

概要

ナンバーツリーは、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オブジェクトにマッピングします。この構造は、リーフレベルでは「Nums」配列を、親レベルでは「Kids」配列を持つ中間ノードを使用して、エントリを階層的に整理します。Nums配列の各エントリは、整数キーとそれに関連付けられた値オブジェクトで構成されます。キーは昇順の数値順序で格納される必要があり、これにより効率的な二分探索操作が可能になります。ナンバーツリーは、文字列ではなく整数キーを使用する点でネームツリーと異なり、未使用のインデックスに領域を割り当てることなく疎な整数範囲をより効率的に処理できる点で単純な配列とは異なります。

重要性

ナンバーツリーは、大規模な範囲にわたって数値インデックスを必要とするオブジェクトの効率的な保存と取得を可能にするため、PDFドキュメントを扱う開発者にとって不可欠です。PDFジェネレーターやプロセッサーを構築する際、ナンバーツリーを理解することは、カスタムナンバリングスキームを持つページラベルの実装、Tagged 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/UA準拠に不可欠な構造階層のParentTreeでナンバーツリーに頻繁に遭遇します。

仕組み

ナンバーツリーは、中間ノードとリーフノードの2種類のノードを持つ階層構造に従います。リーフノードには、整数キーとそれに対応するPDFオブジェクト値を交互に格納する「Nums」配列が含まれます。例:[0 <obj1> 5 <obj2> 12 <obj3>]。中間ノードには子ノードを参照する「Kids」配列が含まれ、オプションでそのサブツリーに含まれる最小および最大のキー値を指定する「Limits」配列が含まれます。値を検索する際、PDFプロセッサーはルートノードから中間ノードを下に向かって走査し、Limits配列を使用してどの子ノードをたどるかを決定し、適切なリーフノードに到達したところでNums配列でルックアップを実行します。平衡木構造により、大規模なデータセットでもルックアップ、挿入、走査の操作が効率的に保たれます。PDFプロセッサーは、深さ優先でツリーを走査することにより、ナンバーツリーを使用してエントリを昇順の数値順序で反復処理することもできます。

関連用語

  • Name tree(ネームツリー) – 整数ではなく文字列キーをPDFオブジェクトにマッピングする類似のツリー構造
  • Page label(ページラベル) – カスタムページ番号付けスキームを定義するためにナンバーツリーを使用する機能
  • Structure tree(構造ツリー) – アクセシブルなPDFにおけるタグ付きコンテンツ要素の階層的な構成
  • Parent tree(親ツリー) – 構造コンテンツアイテムをその親構造要素にマッピングするナンバーツリー
  • Dictionary(辞書) – ツリーノードエントリを構築するために使用される基本的な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