Glasswall エクスポート画像メタデータ
エクスポートモードで動作している場合、Glasswall は PDF ファイルに埋め込まれた画像を、次の 2 つのファイルの組として出力します:
- 生の画像データを含むファイル
- 画像の形式を記述するメタデータを含むファイル
メタデータファイルは、以下の名前/値属性ペアを含む JSON オブジェクトの形式を取ります。
必須属性
これらの値は、画像の形式、用途、エンコーディングに関係なくすべての画像に存在し、使用されているエンコーディング方式や色空間に関係なく常に含まれます。
幅
画像の幅をピクセル単位で示す符号なし整数です。
高さ
画像の高さをピクセル単位で示す符号なし整数です。
コンポーネント
各ピクセルを表現するために使用される輝度値の数を示す符号なし整数です。たとえば、単純なモノクロ画像では Components の値は 1、RGB エンコード画像ではコンポーネント値は 3、CMYK エンコード画像ではコンポーネント値は 4 になります。
BitsPerComponent
色コンポーネントごとのビット数を示す符号なし整数です。たとえば、単純なモノクロ画像では BitsPerComponent の値は 1、256 階調でエンコードされたグレースケール画像では BitsPerComponent の値は 8 となり、24 ビットの色解像度でエンコードされた RGB 画像でも同様に 8 になります。
Length
画像データストリーム内で想定されるデータのバイト数を示す符号なし整数です。
オプション属性
さらに、メタデータファイルには、画像を正確にレンダリングするための使用方法やデコード方法を説明する追加データが必要な場合、以下のオプションの Name/Value 属性ペアが含まれることがあります。
ImageMask
画像が、別の下層画像の一部を表示または非表示にするためのマスクとして使用されることを示す Boolean 値です。
Filter
使用されるエンコードアルゴリズムを示す文字列値です。利用可能なエンコードアルゴリズムは、PDF Specification (ISO32000-1, Section 7.4) のストリームフィルターに関する説明で記述されており、一般的な値には CCITTFaxDecode、LZWDecode(Lempel-Zif-Welch 圧縮。たとえば GIF 形式で使用)、DCTDecode(離散コサイン変換圧縮。JPEG で使用)、または FlateDecode(zlib deflate 圧縮)があります。
DecodeParms
画像データを正しくデコードするためにデコードアルゴリズムが必要とする追加パラメーターを含む文字列値です。
JBIG2
JBIG2 エンコード画像データの処理時に使用されるグローバルデータセグメント。色空間の種類
マット
画像が、たとえばカラーキーイングやアルファブレンディングによって合成画像の一部を構成するマットとして使用されることを示すブール値です。
色空間属性
ColorSpaceFamily
PDF specification (ISO32000-1, Section 8.6) に記載されているとおり、画像を意図どおりにレンダリングする場合に使用する色空間の種類を示す文字列値です。
デバイス色空間
単純な色空間(DeviceGray、DeviceRGB、DeviceCMYK)は追加の説明を必要とせず、画像サンプル(ピクセル)値を直接使用できることを示します。
CIE ベースの色空間
CIE ベースの色空間は、Commission Internationale de l’Éclairage (International Commission on Illumination) が策定した色仕様に関する国際標準に基づく必要があります。これらの空間は、特定の出力デバイスの特性に依存しない方法で色を指定します。このカテゴリの色空間ファミリーには、CalGray、CalRGB、Lab、ICCBased が含まれます。現在サポートされているのは ICC ベースの色空間(ColorSpaceFamily ICCBased)のみで、この場合は次の属性が存在します。
ColorSpaceIccProfileData
ICC 標準形式の ICC クロスプラットフォーム色プロファイルを含む文字列値です。これは任意のバイト列であるため、JSON の文字列値内で表現できるように Base64 エンコーディングで提示されます。
ColorSpaceAlternate
ICC ベースの出力がサポートされていない場合に、画像のレンダリングに使用できる代替色空間を示す文字列値です。
インデックス色空間
インデックス色空間(ColorSpaceFamily の値が Indexed)は、実際の出力値または値のセットを含むテーブルへのインデックスとして単一の値を使用して、各ピクセル(またはサンプル)値を表します。ルックアップテーブル内の値の数は、ベース色空間に対応します。たとえば、ベース色空間として DeviceRGB を使用する場合、ルックアップテーブルの各エントリには 3 つの値が含まれます。ルックアップテーブルのエントリは、色成分が順番に並ぶ単一の配列で提示されます。インデックス色空間では、次の属性が存在します。
ColorSpaceBaseFamily
インデックス付きルックアップ値に使用される色空間を示す文字列値。
ColorSpaceBaseComponents
ベース色空間内のコンポーネント数、したがってインデックス付き色空間ルックアップテーブルの各エントリ内の値の数を示す符号なし整数。
ColorSpaceIccProfileData
ICC ベースのベース色空間用の ICC ベース色空間プロファイルデータ。ColorSpaceBaseFamily の値が ICCBased の場合にのみ存在します。
ColorSpaceLookupData
インデックス付き色空間のルックアップテーブルを含む符号なし整数の配列。