Pages tree
Pages treeは、PDFドキュメントの基本的な構造コンポーネントであり、ページオブジェクトの階層的なツリー構造を通じてすべてのページを整理します。
Pages treeは、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
)
で定義されているように、このツリーは中間の/Pagesノード(ページツリーノード)とリーフの/Pageノード(ページオブジェクト)で構成され、これらが集合的にドキュメントのページ構造を定義します。Pages treeにより、1ページから数千ページに及ぶドキュメントの効率的なナビゲーションと操作が可能になります。
Pages treeは、すべてのPDFドキュメントに必要な階層的データ構造であり、親子関係を通じてページコンテンツを整理します。ルートには最上位ノードとして機能する/Pagesオブジェクトがあり、これは個々の/Pageオブジェクトまたはツリーをさらに細分化する中間の/Pagesノードを直接指すことができます。各/Pagesノードには、子ノード(追加の/Pagesノードまたは/Pageオブジェクト)をリストする/Kids配列と、そのノードから派生するページオブジェクトの総数を示す/Countエントリが含まれています
(
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
)
。これは単純なフラットなページ配列とは異なり、ツリー構造により線形検索ではなく対数時間の検索が可能になるため、大規模なドキュメントでも効率的なアクセスと変更操作が可能になります。
Pages tree構造の理解は、PDFドキュメントをプログラムで操作する必要がある開発者にとって不可欠です。ページの追加、削除、並べ替えを行う際には、すべての祖先ノードの/Count値の再計算を含め、ツリー構造を正しく更新する必要があります。階層的な構成はPDF処理ライブラリのパフォーマンス特性に影響し、バランスの悪いツリーはページアクセス時間の低下を引き起こす可能性があります。
(
Citation: N.A., 2014
(N.A.).
(2014).
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
)
標準に準拠したアクセシビリティ実装では、支援技術がドキュメントを正しくナビゲートできるように、Pages treeの構成を適切に維持する必要があります。さらに、Tagged PDF文書
(
Citation: PDF Association, 2023
PDF Association(2023). Retrieved from
https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/
)
を扱う場合、Pages treeは構造ツリーと相互作用して、論理的なコンテンツ構造と物理的なページレイアウトの関係を確立します。
Pages treeは、各ノードが辞書オブジェクトである親子ノード構造を通じて動作します。ルートの/Pagesノードはドキュメントカタログから参照され、その子を指す/Kids配列を含みます。各中間の/Pagesノードには以下が含まれます:
/Typeは/Pagesに設定- 子ノードへの参照を含む
/Kids配列 - 派生するページオブジェクトの総数を表す
/Count整数 - 親ノードを指す
/Parent参照(ルートを除く)
リーフノードは/Pageオブジェクトであり、実際のページコンテンツストリーム、リソース、表示パラメータを含みます。PDFリーダーがページ50にアクセスする必要がある場合、/Count値を調べてそのページを含むブランチを特定し、ターゲットの/Pageオブジェクトに到達するまで下方にナビゲートします。ツリーはバランスが取れている場合も取れていない場合もあります。完全にフラットなツリーでは、すべての/Pageオブジェクトがルートの直接の子になり、深いツリーでは複数レベルの中間/Pagesノードが存在する可能性があります。PDFプロセッサは、ページが変更されるたびに祖先チェーン内のすべての/Count値を更新してツリーの整合性を維持し、
(
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
)
で指定されているようにツリーがドキュメント構造を正確に反映するようにする必要があります。
- Page object(ページオブジェクト) – Pages tree内の個々のリーフノードで、コンテンツと属性を持つ単一のページを表します
- Document catalog(ドキュメントカタログ) – Pages treeのルートノードへの参照を含むPDFファイルのルートオブジェクト
- Structure tree(構造ツリー) – Tagged PDFで論理的なドキュメント構造を表現するために使用される並列階層
- Page tree node(ページツリーノード) – 他のページツリーノードまたはページオブジェクトを整理する階層内の中間
/Pagesオブジェクト - Kids array(Kids配列) – Pages tree内の子ノードへの参照を含む
/Pagesノード内の配列
- (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/
- (N.A.) (2014)
- (N.A.). (2014). 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
