2026年3月2日
Adobe illustrator
Excelから書き出したPDFをillustratorでベクター化した際に起こる色濁りを一発正規化!
Excelから書き出したPDFをillustratorでベクター化した際に起こる色濁りを一発正規化!
RGB由来の色濁り、一発置換したい!
Excelから書き出したPDFをCMYK環境のillustratorに配置して透明分割で、書体毎アウトライン化して使う。
そのような強引な作業は…一部の印刷屋しかしないですかね。
私たちも、まれにそんな作業をせざるを得ないケースが発生します。
でも…、RGBのPDFをこんなやり方でベクター化すると、色は濁りますよね。
で、思うわけです。
「簡単に正規化したい」
そこで、スクリプトで一発解決できるよう組んでみました。
初版とはいえ、Version5。ある程度、気持ちよく変換してくれます。
一部の方にしかニーズのないスクリプトですが、以下の仕様に準じて変換されます。
スクリプト内を適用変更する事で、ご自身に合わせたカスタムも可能。
スクリプトをすぐに呼び出せるようにするには、アプリケーションフォルダに格納するのが手っ取り早いです。
Macなら
【/Applications/Adobe Illustrator [バージョン]/Presets/ja_JP/スクリプト/】
Windowsなら
【C:\Program Files\Adobe\Adobe Illustrator [バージョン]\Presets\ja_JP\スクリプト\】
格納後に、一度illustratorを再起動してくださいね。
もし…必要な機会があれば試してみてください。ダウンロードは最下部から。
CMYK 正規化
スクリプト仕様書
RGB → CMYK 変換時に生じる「汚れた色」を自動正規化する Illustrator スクリプトの技術仕様
概要
このスクリプトは、Adobe Illustrator 上で RGBドキュメントをCMYKドキュメントに変換した際に生じる「汚れた色」を自動的に正規化するツールです。
ExcelデータをベースにしたPDFをIllustratorで展開した場合、RGB→CMYK変換時に意図しない色の混入(不純物)や、黒がリッチブラックになるなどの問題が発生します。本スクリプトはこれらを一括で修正します。
対象環境
ExtendScript対応全バージョン
RGB→CMYK変換済みであること
CompoundPathItem / TextFrame
テキスト文字色 すべて
実行方法
処理フロー
スクリプトは以下の2パスで処理を行います。
パス1:Y値の事前スキャン(グループ統一用)
パス2:正規化実行
処理ルール詳細
各色に対して、以下の5つのルールが順序通りに適用されます。
ルール 1:無彩色判定(黒・グレー)
| 条件 | 処理内容 | 変換前の例 | 変換後 |
|---|---|---|---|
| 明度 ≦ 10 | K=100(純黒)に置換 C, M, Y はすべて 0 |
C=92.9 M=87.9 Y=89.0 K=80 |
K=100 |
| 明度 > 10 | C, M, Y=0 のグレーに変換 K値は明度から逆算 |
C=10 M=9 Y=11 K=50 |
K=適切な値 |
ルール 2:有彩色の不純物除去
| 変換前 | 判定 | 変換後 |
|---|---|---|
| C=5.88 / M=17.8 / Y=10.8 / K=0 ピンク |
最大=M=17.8 / 17.8×35%=6.23 C=5.88 < 6.23 → 不純物 |
C=0 M=18 Y=11 K=0 |
| C=6.93 / M=0 / Y=49.1 / K=0 黄色 |
最大=Y=49.1 / 49.1×35%=17.2 C=6.93 < 17.2 → 不純物 |
C=0 M=0 Y=50 K=0 |
ルール 3:Y値グループ統一(Y=50以下のみ)
| 条件 | 処理内容 | 例 |
|---|---|---|
| Y=50以下で差が10未満 | グループ内の最大値に統一 | Y=49 と Y=42 → 差=7 → どちらも Y=49 に |
| Y=50以下で差が10以上 | それぞれ独立して処理 | Y=49 と Y=38 → 差=11 → 別グループ |
| Y=50超 | 通常の5の倍数丸めのみ | Y=76 → Y=75、Y=78 → Y=80 |
ルール 4:5の倍数への丸め
K=0 と K=100 は丸め対象外とし、そのまま維持する。| 元の値 | 変換後 | 備考 |
|---|---|---|
| Y=49 | Y=50 | 四捨五入 |
| Y=42 | Y=40 | 四捨五入 |
| K=0 | K=0 | 丸め対象外 |
| K=100 | K=100 | 丸め対象外 |
| K=73 | K=75 | 四捨五入 |
ルール 5:CMY 95%以上の強制100変換
| 元の値 | 変換後 |
|---|---|
| C=95 | C=100 |
| M=97 | M=100 |
| Y=96(5の倍数丸め後=95) | Y=100 |
| C=100 | C=100(対象外) |
カスタマイズパラメータ
スクリプト冒頭の変数を変更することで、判定閾値を調整できます。
| 変数名 | 初期値 | 説明 | 調整の目安 |
|---|---|---|---|
| ACHROMATIC_THRESHOLD | 10 | C,M,Yのばらつきがこの値以下なら無彩色と判定 | 下げる→有彩色を広く認識 上げる→無彩色を広く認識 |
| BLACK_LIGHTNESS | 10 | この明度以下をK100(純黒)とする | 上げると暗めのグレーもK100に |
| IMPURITY_RATIO | 0.35 | CMY最大値のこの割合以下の成分を不純物と判定 | 上げる→より積極的に除去 下げる→保守的に除去 |
| ROUND_UNIT | 5 | 有彩色の値を丸める単位 | 1にすると整数丸め |
| Y_GROUP_THRESHOLD | 10 | Y=50以下でこの差以内なら同一グループとみなす | 広げると統一範囲が拡大 |
| Y_LOW_CEILING | 50 | グループ統一を適用するYの上限値 | 必要に応じて拡大可能 |
処理対象外のケース
| ケース | 理由 |
|---|---|
| 有彩色の色調整(ネイビー・赤・緑など) | ばらつきが10超のため無彩色処理の対象外。不純物除去のみ実施 |
| 配置画像(リンク・埋め込み) | ラスターデータはIllustrator上でオブジェクトとして扱われないため対象外 |
| パターン・グラデーション | CMYKColor以外の色種別は処理をスキップ |
| RGBドキュメント上での実行 | ドキュメントがCMYKモードであることが前提。RGB環境では変換不可 |

