PDDeviceGray
PDDeviceGrayは、Apache PDFBox PDModel APIのクラスで、PDF仕様で定義されているデバイス依存カラースペースの一つであるDeviceGrayカラースペースを表現します。
PDDeviceGrayは、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 ) で定義されているデバイス依存カラースペースの一つであるDeviceGrayカラースペースを表現します。このクラスは、PDF文書内でグレースケールカラーを扱うためのメソッドを提供します。色は0.0(黒)から1.0(白)までの単一コンポーネントで指定されます。グレースケールレンダリングを使用するPDFコンテンツの読み取り、作成、または変更を行う際に一般的に使用されます。
PDDeviceGrayは、Apache PDFBoxにおけるDeviceGrayカラースペース機能をカプセル化した高レベルのJavaクラスです。DeviceGrayカラースペースは、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 ) で定義されている3つのデバイス依存カラースペースの一つで、DeviceRGBおよびDeviceCMYKと並んで存在します。CalGrayやICCBasedカラースペースなどのデバイス非依存カラースペースとは異なり、DeviceGrayはカラーマネジメントを行わず、出力デバイスのネイティブなグレー値の解釈に依存します。
PDFBoxのオブジェクト階層において、PDDeviceGrayはPDDeviceColorSpace抽象クラスを継承し、単一コンポーネントのグレースケールカラー処理に特化したメソッドを実装しています。このクラスは通常、直接構築するのではなく、静的なINSTANCEフィールドを通じてインスタンス化されます。すべてのDeviceGrayカラースペースは機能的に同一であるため、効率性のためにシングルトンパターンに従っています。
PDF文書を扱う開発者にとって、PDDeviceGrayはグレースケールコンテンツを処理する際に不可欠です。グレースケールコンテンツは、スキャンされた文書、白黒画像、テキストレンダリングにおいて一般的です。このクラスを理解することで、開発者は以下のことが可能になります:
- PDFコンテンツの抽出または変更時にグレースケールカラーを適切に解釈および操作する
- カラーが不要な場合、マルチコンポーネントのRGBやCMYKの代わりに単一コンポーネントのグレースケールを使用してファイルサイズを最適化する
- Tagged 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 ) を扱う際にアクセシビリティ準拠を確保する(支援技術のために色情報を適切に表現する必要がある)
- 異なるカラースペース間での変換時や、さまざまな出力デバイスでPDFをレンダリングする際に一貫性を維持する
DeviceGrayカラースペースは、テキストと背景の高コントラストが可読性において重要となるアクセシビリティコンテキストで頻繁に使用されます。
PDDeviceGrayは、輝度またはグレー強度を表す単一の色成分を管理することで動作します。開発者がPDFBoxでこのクラスを使用する際、通常以下の手順を踏みます:
- カラースペースの取得:グラフィックス状態の設定時や既存コンテンツの解析時に、
PDDeviceGray.INSTANCEを介してシングルトンインスタンスにアクセスする - 色値の指定:0.0から1.0までの単一のfloat値を提供します。0.0は黒(光なし)、1.0は白(最大強度)を表します
- PDFオブジェクトへの適用:グレースケールでレンダリングすべきコンテンツストリーム、画像、またはフォームXObjectにカラースペースを関連付ける
このクラスは、PDColorSpaceから継承された以下のような操作用メソッドを提供します:
getNumberOfComponents():単一コンポーネントの色を示す1を返すgetName():カラースペース識別子として"DeviceGray"を返すtoRGB():レンダリングまたは表示目的でグレースケール値をRGBに変換する
PDFレンダラーがPDDeviceGrayを使用するコンテンツに遭遇すると、単一のグレーコンポーネントを出力デバイスのグレーチャンネルに直接マッピングするか、グレー値を3つのRGBコンポーネント全体に均等に使用してRGBに変換します。このデバイス依存の動作により、異なるモニター、プリンター、または表示アプリケーション間で正確な外観がわずかに異なる場合があります。
- PDDeviceRGB – 赤、緑、青のコンポーネントで色を表現するPDFBoxのデバイス依存RGBカラースペースクラス
- PDDeviceCMYK – 印刷指向の色仕様に使用されるデバイス依存CMYKカラースペースクラス
- PDColorSpace – PDFBoxにおけるすべてのカラースペース実装の抽象基底クラス
- PDResources – カラースペースリソースやその他のPDFページリソースを管理するクラス
- PDPageContentStream – PDDeviceGrayなどのカラースペースを利用するコンテンツストリームを書き込むために使用されるクラス
- (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
