RecolorDocument

色

説明

ドキュメントのすべてのページを 1 つの色空間へ移動します

構文

Delphi

Function TPDFlib.RecolorDocument(TargetSpace: Integer): Integer;

パラメータ

TargetSpace1 グレー、2 RGB、3 CMYK

戻り値

Countドキュメント全体で変換された色の数
0変換が必要なものがないか、TargetSpace が 1~3 の範囲外です。色がすでにターゲット空間にあるページは元のバイト列を維持します

備考

変換はカラーマネジメントされたものではなく通常のデバイス演算です。DeviceRGB だけを指定する文書には変換に使用するプロファイルがありません。RGB は ITU-R BT.601 の輝度重みでグレーになり、CMYK は ISO 32000-1 §8.6.4.4 に記載のとおりに変換されます。これはビューアーが CMYK 文書を画面に表示する際にすでに行う処理です

ICCBased、Separation、Indexed、または Pattern 空間で設定された色はそのまま残す プロファイルなしで構成要素を読み取ると保持する代わりにページの見え方が変わるため、このようなドキュメントはデバイス空間を直接指定する部分だけを変換する

ページが描画する画像も、画像がコンポーネントあたり 8 ビットで device colour space を持ち、無圧縮または通常の Flate の場合に変換されます。JPEG または fax 画像では再エンコードが必要ですが、それは色変換とは別の操作であるため、独自のバイト列を維持します

インデックス付き画像は代わりにカラー表を介して変換されるため、サンプルは既存のインデックスを保持します。この経路はサンプルのパック方法や圧縮方法を問わないため、サンプルを書き換えられなくてもパレットのスクリーンショットやグラフを変換できます

グラデーションは背後の関数とともに変換されるため、色空間と停止点は常に一致します。サンプル関数または PostScript 関数から構築されたグラデーションは独自の色を維持します。関数ではなくストリーム内に色を保持するメッシュシェーディングタイプも同様です

ソフトマスクとステンシルマスクは変更しません。どちらも色ではなくカバレッジとして読み取られ、変換するとページ上でマスクが画像として表示されてしまいます

ジオメトリ、テキスト、クリッピング、その他すべての演算子は変更せずに書き戻されます

呼び出しから戻ると、選択していたページが復元されます

例

// Send a mixed-colour document to a press that expects CMYK
PDF.LoadFromFile('brochure.pdf', '');
Converted := PDF.RecolorDocument(3);
PDF.SaveToFile('brochure-cmyk.pdf');

関連項目

RecolorPage、SetFillColor、SetFillColorCMYK