PDPropertyList
PDPropertyListは、Apache PDFBoxのPDModel APIに含まれる高レベルJavaクラスであり、で定義されているPDF文書の基本構造をプログラムから読み取り、変更するための機能を開発者に提供します。
PDPropertyListは、Apache PDFBoxのPDModel APIに含まれる高レベルJavaクラスであり、 ( 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要素を扱えるようにする、オブジェクト指向レイヤーの一部として機能します。PDPropertyListは、Javaアプリケーションと、PDF文書を構成する複雑な階層構造との橋渡し役を担います。
PDPropertyListは、Apache PDFBoxのPDModelパッケージ内の基礎クラスであり、様々なリスト形式のPDF構造をオブジェクト指向的に表現します。PDFのネイティブなデータ構造を直接扱う低レベルのCOSArrayやCOSDictionaryクラスとは異なり、PDPropertyListはPDFオブジェクトのコレクションを操作するための型安全で開発者に優しいインターフェースを提供します。このクラスは通常、ページツリー、注釈配列、フォームフィールド階層など、特定のPDFコンポーネントを処理するより専門的なクラスの基底クラスとして機能します。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構造への変更が仕様に従って有効であることを保証します。
JavaアプリケーションでPDF文書を扱う開発者にとって、PDPropertyListはPDF構造を変更する際の複雑さとエラーの可能性を大幅に軽減します。PDFの内部構文やオブジェクト間の関係について深い知識を必要とする代わりに、開発者はPDPropertyListとその派生クラスを使用して、注釈の追加、ページリソースの変更、フォームフィールドの更新などの一般的な操作を、直感的なJavaメソッドを通じて実行できます。この抽象化は、 ( 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 ) などの規格に準拠する必要があるアクセシブルなPDFを扱う場合に特に有用です。このような場合、適切な文書構造の維持が極めて重要になります。様々なPDFコンポーネントとやり取りするための一貫したAPIを提供することで、PDPropertyListは開発サイクルの高速化と保守性の高いコードの実現を可能にし、検証に失敗したり異なるPDFリーダー間で互換性の問題を引き起こす可能性のある不正なPDF文書を作成するリスクを低減します。
PDPropertyListは、Apache PDFBoxの階層化されたアーキテクチャの一部として、COS(Carousel Object Structure)レイヤーの上位にあるPDModelレイヤーに位置します。開発者がPDPropertyListの派生オブジェクトをインスタンス化またはアクセスする際、このクラスは内部的に、実際のPDF構造を表す基礎となるCOSオブジェクト(通常はCOSArrayまたはCOSDictionary)への参照を保持します。このクラスは、必要な型変換を自動的に処理しながら、 ( 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 ) で要求される構造的整合性を維持しつつ、リストからアイテムを追加、削除、または取得するメソッドを提供します。例えば、ページに注釈を追加する際、PDPropertyListのサブクラスは、注釈辞書が適切にフォーマットされ、必要なエントリが存在することを保証します。また、このクラスは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 ) に準拠したアクセシブル文書で使用されるタグ付きコンテンツのような複雑な構造において特に重要です。このような場合、論理構造ツリーは文書の意味的な構成を正確に反映する必要があります。
- PDModel – PDPropertyListおよびPDF文書を扱うための関連クラスを含む、Apache PDFBoxの高レベルAPIレイヤー
- COSArray – PDPropertyListが抽象化する、PDFの配列オブジェクトを表すApache PDFBoxの低レベルクラス
- PDPage – 個々のPDFページを表すPDModelクラスで、ページリソースや注釈の管理にプロパティリストを使用します
- PDResources – フォント、画像、グラフィックス状態など、リスト構造に格納される可能性のあるPDFページリソースを管理するクラス
- PDAnnotation – ページオブジェクト内でリストとして管理されることが多い、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
- (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
