PDDestinationNameTreeNode
PDDestinationNameTreeNodeは、Apache PDFBox PDModel APIのクラスで、名前付き宛先を管理するためのPDF名前ツリー構造のノードを表します。
PDDestinationNameTreeNodeは、Apache PDFBox PDModel APIのクラスで、名前付き宛先を管理するための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ファイル内でこれらの名前付き宛先を整理する階層ツリー構造を、プログラムで読み取り、作成、変更することができます。
PDDestinationNameTreeNodeは、PDFが名前付き宛先を保存および整理するために使用する名前ツリーデータ構造を実装する高レベルのJavaクラスです。PDFアーキテクチャにおいて、名前ツリーは文字列キー(宛先名)を対応する宛先オブジェクトにマッピングする平衡木構造です。単純な辞書とは異なり、名前ツリーは大量の名前付きエントリを扱う際の効率的な保存と検索のために最適化されています。
このクラスは、宛先のターゲット自体ではなく、組織構造に焦点を当てることで、直接的な宛先オブジェクト(PDPageDestinationなど)とは異なります。宛先オブジェクトはドキュメント内のどこに移動するかを定義しますが、PDDestinationNameTreeNodeはテキスト文字列をそれらの宛先オブジェクトに関連付けるルックアップメカニズムを管理します。このクラスは、ツリーを走査し、新しい名前-宛先ペアを追加し、名前で宛先を取得するためのメソッドを提供します。
名前付き宛先は、参照を特定のページ番号から切り離すため、保守性の高い、アクセシブルなPDFドキュメントを作成する上で重要です。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 ) で要求されるアクセシビリティ機能にとって特に重要です。支援技術がドキュメント構造をナビゲートするために安定した名前付き参照に依存する場合があるためです。
PDFBoxを使用する開発者にとって、PDDestinationNameTreeNodeは、ナビゲーション機能の実装、目次機能の作成、信頼性の高いハイパーリンクターゲットの確立に必要なプログラマティックインターフェースを提供します。適切な名前ツリー管理がなければ、アプリケーションは、技術文書、法的文書、インタラクティブフォームで一般的な、ナビゲーションに名前付き宛先を使用する複雑なPDFドキュメントを効果的に処理できません。
PDDestinationNameTreeNodeは、各ノードが直接的な名前-宛先マッピング(リーフノードの場合)または子ノードへの参照(中間ノードの場合)を含むことができる平衡木構造を実装します。ツリーは、すべてのノードにわたって宛先名のアルファベット順序を維持し、効率的な二分探索操作を可能にします。
PDFを読み取る際、PDFBoxはドキュメントの名前辞書(ドキュメントカタログから参照される)を解析し、各ノードに対してPDDestinationNameTreeNodeオブジェクトをインスタンス化することでツリー構造を構築します。開発者は、getNames()のようなメソッドを呼び出してリーフノードのマッピングを取得したり、getKids()を使用して走査のために子ノードにアクセスしたりできます。このクラスは、実際の名前-値ペアを含むリーフノードと、子参照のみを含む中間ノードとの区別を処理します。
新しい名前付き宛先を追加するには、開発者は適切なPDDestinationNameTreeNodeを作成または取得し、そのメソッドを使用して、ツリーの平衡構造とアルファベット順序を維持しながら名前-宛先ペアを挿入します。このクラスは、 ( 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の低レベルデータ構造を表す基礎となるCOS(Carousel Object Structure)辞書オブジェクトを自動的に管理し、直接的なPDF操作の複雑さを抽象化します。
- PDPageDestination – 名前付き宛先またはリンクがターゲットにできるPDFドキュメント内の特定の場所を表します
- PDDocumentCatalog – 名前付き宛先やその他のドキュメントレベル構造への参照を含むPDFドキュメントのオブジェクト階層のルートオブジェクトです
- COSDictionary – PDDestinationNameTreeNodeのようなPDModelクラスの基礎となる、PDF辞書オブジェクトを表す低レベルのPDFBoxクラスです
- PDOutlineItem – ナビゲーションのために名前付き宛先を参照できるブックマークエントリです
- PDAnnotationLink – クリック可能なリンクを作成する注釈で、ターゲットとして名前付き宛先を使用できます
- (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
- (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
