PDStandardAttributeObject
PDStandardAttributeObjectは、Apache PDFBoxの高レベルPDModel APIに含まれるクラスで、Tagged PDF文書で使用される標準構造属性オブジェクトを表します。
PDStandardAttributeObjectは、Apache PDFBoxの高レベルPDModel APIに含まれるクラスで、Tagged 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文書の作成に不可欠です。
PDStandardAttributeObjectは、Apache PDFBox内の具体的な実装クラスで、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 ) において、属性オブジェクトには、構造要素の基本的なタイプと役割を超える追加情報を提供するキー・バリュー・ペアが含まれます。これらの属性には、レイアウトプロパティ(スペーシング、配置、寸法など)、リストプロパティ(番号付けスタイル)、テーブルプロパティ(行と列のスパン)、その他のプレゼンテーションまたはセマンティック特性が含まれます。
カスタム属性オブジェクトとは異なり、PDStandardAttributeObjectは、PDF仕様で定義されている標準属性クラス(Layout、List、Table、PrintFieldなど)を特に処理します。このクラスは基本的な属性機能を拡張し、一般的に使用される標準属性への型安全なアクセスを提供することで、開発者が辞書エントリを手動で解析することなく構造化コンテンツを扱いやすくします。
アクセシブルなPDF文書を扱う開発者にとって、PDStandardAttributeObjectは、PDF/UA準拠 ( 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 ( Citation: PDF Association, 2023 PDF Association(2023). Retrieved from https://pdfa.org/resource/tagged-pdf-best-practice-guide-syntax/ ) の作成に不可欠です。属性オブジェクトは、コンテンツがどのように提示され理解されるべきかに関する重要なメタデータを提供することで、支援技術が文書構造を正しく解釈できるようにします。適切に設定された属性がなければ、スクリーンリーダーやその他のアクセシビリティツールは、テーブル、リスト、見出し、その他の構造要素を正しく解釈できない可能性があります。
実用的な観点から、このクラスは、プログラムによってPDF文書を生成または修復する際に構造属性を追加または変更するプロセスを簡素化します。低レベルの辞書オブジェクトを直接操作し、正しいキー名と値の型を確保する代わりに、開発者はPDStandardAttributeObjectのメソッドを使用して、テーブルヘッダー、リストの番号付け、スペーシングパラメータ、配置プロパティなどの属性を安全に設定できます。これにより、アプリケーションにPDFアクセシビリティ機能を組み込む際のエラーが減少し、コードの保守性が向上します。
PDStandardAttributeObjectは、PDFファイルレベルで実際の属性データを含むCOS(Carousel Object Structure)辞書をラップすることで機能します。論理構造ツリー内の構造要素が属性オブジェクトを参照すると、PDFBoxはPDStandardAttributeObjectをインスタンス化して、それらの属性へのプログラム的アクセスを提供します。このクラスは、 ( 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 ) で定義されている標準属性プロパティのゲッターおよびセッターメソッドを実装し、Javaの型とPDF辞書の値間の変換を自動的に処理します。
開発者は通常、構造要素APIを通じてPDStandardAttributeObjectと対話します。構造要素(PDStructureElementで表される)にアクセスする際、getAttributes()などのメソッドを使用して関連する属性オブジェクトを取得できます。返されるPDStandardAttributeObjectインスタンスを使用すると、属性オーナー(標準属性クラス)に基づいて特定の属性を照会または変更できます。たとえば、テーブルセルの場合はRowSpan属性とColSpan属性を取得または設定でき、リストアイテムの場合はListNumbering属性にアクセスできます。
このクラスは、属性とそのオーナー名前空間との関係を維持し、属性が定義標準(Layout属性、Table属性など)と正しく関連付けられることを保証します。PDStandardAttributeObjectを通じて変更が行われると、基礎となるCOS辞書が更新され、これらの変更はPDF文書が保存されるときに永続化されます。この抽象化レイヤーは、PDF構造仕様への準拠を保証しながら、直接的な辞書操作の複雑さから開発者を保護します。
- PDStructureElement – 属性オブジェクトを関連付けることができるPDF論理構造ツリー内の要素を表す
- Tagged PDF – アクセシビリティのためのセマンティックタグと属性を含む論理構造ツリーを持つPDF文書
- Structure Attributes(構造属性) – PDFの論理構造における構造要素のプロパティを記述するキー・バリュー・ペア
- PDModel API – 直接的なCOSレベルの操作なしでPDF文書を扱うためのApache PDFBoxの高レベルオブジェクトモデル
- PDF/UA – PDF文書におけるユニバーサルアクセシビリティのISO標準で、適切な構造属性が必要
- (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
