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

PDStructureTreeRoot

PDStructureTreeRootは、Apache PDFBoxライブラリにおいて、PDFドキュメントの論理構造ツリーのルートを表すクラスです。

キーワード: pdstructuretreeroot, PDStructureTreeRoot

概要

PDStructureTreeRootは、Apache PDFBoxライブラリにおいて、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ページ上にレンダリングされる視覚的なコンテンツに意味を与える構造要素をナビゲートし操作するためのエントリーポイントとして機能します。

定義

PDStructureTreeRootは、Apache PDFBoxのPDModelパッケージに含まれる高レベルAPIクラスで、PDF仕様で定義されているStructTreeRoot辞書をカプセル化します ( 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の構造階層の最上位に位置し、ドキュメントコンテンツの論理的な構成を記述するすべての構造要素への参照を含んでいます。低レベルのCOSObjectによる表現とは異なり、PDStructureTreeRootは構造要素間の親子関係、カスタム構造タイプを定義するロールマップ、属性継承のためのクラスマップにアクセスするための開発者フレンドリーなメソッドを提供します。

このクラスは、他のPDFBox構造関連クラスとは異なり、ドキュメントレベルのルートノードを特に表現します。一方、PDStructElementのようなクラスはツリー内の個々のノードを表現します。また、視覚的なページツリー(PDPageTreeを通じてアクセス)とも異なり、構造ツリーは物理的なページレイアウトではなく論理的な構成を定義します。

重要性

アクセシブルなPDFを扱う開発者やコンテンツ抽出機能を実装する開発者にとって、PDStructureTreeRootはいくつかの理由から極めて重要です:

アクセシビリティ準拠: 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 ) で要求されるTagged PDFドキュメントは、支援技術がドキュメントの構成と読み上げ順序を理解できるようにするために、適切な構造ツリーに依存しています。アクセシブルなPDFを作成、検証、または修復するアプリケーションは、構造の整合性を確保するためにこのクラスとやり取りする必要があります。

コンテンツ抽出: PDFからテキストやデータを抽出する際、構造ツリーは単純なページコンテンツの解析では得られない意味的なコンテキストを提供します。テキストが見出し、段落、表のセルのいずれであるかを理解するには、PDStructureTreeRootから構造ツリーを辿る必要があります。

ドキュメント変換: PDFを他のフォーマット(HTML、EPUB、Word)に変換するアプリケーションは、視覚的な外観だけでなくドキュメントの意味を保持した意味のある出力を生成するために、論理構造を必要とします。

仕組み

Tagged PDF ( Citation: , (). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) の構造ツリーは、PDStructureTreeRootを最上位とする構造要素の階層で構成されます。PDDocumentからPDStructureTreeRootインスタンスを取得すると、いくつかの重要なコンポーネントへのアクセスが可能になります:

構造要素ツリー: getK()メソッドは、ルートの子要素を返します。これらは通常、記事、セクション、パートなどの高レベルなドキュメント区分を表すPDStructElementオブジェクトです。これらの要素はツリー構造を形成し、各ノードは子要素を持つことができ、最終的にPDFページ上のマークされたコンテンツに接続されます。

ロールマッピング: getRoleMap()メソッドは、標準タイプにマッピングされたカスタム構造タイプへのアクセスを提供します。例えば、ドキュメントは「Chapter」を標準の「Sect」(セクション)タイプにマッピングすることで、支援技術がカスタムタグを正しく解釈できるようにします。

親ツリー: ほとんどのPDStructureTreeRootメソッドから直接アクセスされることはありませんが、このコンポーネントはページ上のマークされたコンテンツからその構造要素への逆マッピングを維持し、論理構造と物理構造間の双方向ナビゲーションを可能にします。

クラスマッピング: getClassMap()メソッドは、複数の構造要素によって継承可能な属性クラス定義を返し、ドキュメント構造全体で一貫したスタイリングとプロパティを促進します。

開発者は通常、pdDocument.getDocumentCatalog().getStructureTreeRoot()を呼び出してPDStructureTreeRootにアクセスし、その後、構造ツリーを再帰的に辿ってドキュメントの論理構成を分析または変更します。

関連用語

  • Tagged PDF – PDStructureTreeRootをルートとする構造ツリーを通じて構造情報と意味情報を含むPDFドキュメント
  • PDStructElement – ドキュメントコンテンツの役割と階層を定義する構造ツリー内の個々のノードを表すクラス
  • Marked Content – 構造ツリー内の構造要素に接続するマーカーでタグ付けされたPDFページ上のコンテンツ
  • PDF/UA – 適切な構造ツリー実装を要求するアクセシブルなPDFドキュメントのISO標準
  • Role Map – カスタム構造タイプを標準タイプにマッピングする辞書。PDStructureTreeRootを通じてアクセス可能

出典

(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