LayerUtility
LayerUtilityは、Apache PDFBoxライブラリに含まれるユーティリティクラスで、PDF文書内のオプショナルコンテンツグループ(OCG)、一般的にレイヤーと呼ばれる機能を管理するためのメソッドを開発者に提供します。
LayerUtilityは、Apache PDFBoxライブラリに含まれるユーティリティクラスで、PDF文書内のオプショナルコンテンツグループ(OCG)、一般的にレイヤーと呼ばれる機能を管理するためのメソッドを開発者に提供します。レイヤーを使用すると、異なるコンテンツ要素を選択的に表示・非表示にすることができます。この機能は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 ) で定義されています。このクラスは、Javaアプリケーションを通じて、PDF文書内のレイヤー化されたコンテンツをプログラム的に作成、操作、整理する作業を簡素化します。
LayerUtilityは、Apache PDFBox内のヘルパークラスで、PDFレイヤー(オプショナルコンテンツ)を扱う際の複雑さをカプセル化します。既存のPDF文書に新しいレイヤーを追加したり、レイヤー構造を保持しながらあるPDFから別のPDFにコンテンツをインポートしたり、コンテンツストリームと関連するオプショナルコンテンツグループ間の関係を管理するための高レベルなメソッドを提供します。PDF辞書や配列を直接操作する必要がある低レベルのPDFBoxクラスとは異なり、LayerUtilityはレイヤー関連の操作に特化した、より開発者フレンドリーなインターフェースを提供します。このクラスは、 ( 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文書を扱う開発者にとって、LayerUtilityはレイヤー機能を実装する際の開発時間を大幅に短縮し、潜在的なエラーを減らします。レイヤーは、多言語文書の作成(各言語が個別のレイヤーに存在)、切り替え可能な詳細レベルを持つ技術図面の生成、またはユーザーのニーズに応じて補足情報を表示・非表示できるアクセシブルな文書の作成など、専門的なワークフローにおいて不可欠です。このユーティリティクラスは、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 ) を扱う際に特に有用です。レイヤーを通じた適切なコンテンツ整理により、ユーザーがどの要素を表示するかを制御できるようにすることで、アクセシビリティを向上させることができます。LayerUtilityがない場合、開発者はPDF仕様で定義された複雑なオプショナルコンテンツ階層を手動で構築・維持する必要があり、これはエラーが発生しやすく時間がかかります。
LayerUtilityは、PDFBoxのコアとなるオプショナルコンテンツ機能を包括するラッパーメソッドを提供することで動作します。新しいレイヤーを作成する際、このクラスはPDOptionalContentGroupオブジェクトをインスタンス化し、それを文書のオプショナルコンテンツプロパティ辞書に登録します。このユーティリティは、ページのコンテンツストリームと対応するレイヤーグループの関連付けを管理し、コンテンツがレンダリングされる際に可視性の状態が正しく評価されることを保証します。また、このクラスはインポート処理も扱い、あるPDFのレイヤーから別の文書にコンテンツを転送する際、すべてのオプショナルコンテンツ参照と構成を維持します。内部的には、LayerUtilityは、 ( 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 ) で定義されているように、適切なオプショナルコンテンツメンバーシップ辞書参照とペアになったマーク付きコンテンツ開始(BMC)演算子とマーク付きコンテンツ終了(EMC)演算子でコンテンツストリームをラップすることにより、PDFのコンテンツストリームを操作します。これにより、PDFリーダーがどのコンテンツがどのレイヤーに属しているかを適切に解釈し、文書の構成で設定された可視性状態を尊重できるようになります。
- Optional Content Group(OCG) – ユニットとして表示・非表示を切り替えることができるコンテンツのコレクションを定義するPDF構造
- PDFBox – Apache Software Foundationが管理する、PDF文書を扱うためのオープンソースJavaライブラリ
- Content Stream – ページコンテンツの視覚的な外観を記述するPDF演算子とオペランドのシーケンス
- Optional Content Properties Dictionary – すべてのオプショナルコンテンツグループとその構成設定を含む文書レベルの辞書
- 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
- (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
