入稿の直前に、カラーモードや文字、リンク画像をひとつずつ確かめるのは手間がかかり、見落としも出ます。
このスクリプトは、開いているファイルのよくある問題を数えて、一覧で表示します。
- カラーモードが RGB になっていないか
- アウトライン化していない文字が残っていないか
- リンク切れの画像がないか
- 埋め込み画像に RGB のものがないか
- 白いオブジェクトにオーバープリントが付いていないか
見つけて知らせるだけで、ファイルは何も書き換えません。
スクリプトは、Adobe Illustrator Scripting Guide(Adobeの資料をもとに有志が公開している版、2026年9月29日に確認)のプロパティの説明をもとに作りました。
2026年10月16日に、GrayColor(グレースケール)の白判定を直しました。
以前の版はgrayの値が100の色を白として数えていましたが、Illustrator 30.8.2で確かめると、値が100の図形は黒、0の図形は白でした。
直した版をWindows 11 Pro/Illustrator 30.8.2で実行した結果は後述します。
2026年10月3日には、リンク情報を読めなかった項目の表示も修正しています。
リンク確認の分岐は模擬オブジェクトで試験したもので、リンク状態ごとの実際の検出範囲は実機で確かめていません。
スクリプト
下のスクリプトは、2026年10月16日にGrayColor(グレースケール)の白判定を直した版です。
2026年10月16日に、Illustrator 30.8.2・Windows 11 Proで確かめたところ、grayの値が100の図形は黒(K100%)、0の図形は白(K0%)でした。
以前の版は値が100の色を白として数えていたため、グレースケールの黒を白のオーバープリントとして誤って検出し、グレースケールの白は見逃していました。
// 入稿前に、よくある問題を一覧にする(何も書き換えない)
function isWhite(c) {
if (c.typename === "CMYKColor") return c.cyan === 0 && c.magenta === 0 && c.yellow === 0 && c.black === 0;
if (c.typename === "RGBColor") return c.red === 255 && c.green === 255 && c.blue === 255;
if (c.typename === "GrayColor") return c.gray === 0;
return false;
}
function main() {
if (app.documents.length === 0) { alert("ファイルを開いてから実行してください"); return; }
var doc = app.activeDocument;
var msgs = [];
if (doc.documentColorSpace === DocumentColorSpace.RGB) msgs.push("カラーモードが RGB です");
if (doc.textFrames.length > 0) msgs.push("アウトライン化していない文字:" + doc.textFrames.length + " 個");
var missing = 0;
var unknownLinks = 0;
for (var i = 0; i < doc.placedItems.length; i++) {
try { if (!doc.placedItems[i].file.exists) missing++; } catch (e) { unknownLinks++; }
}
if (missing > 0) msgs.push("リンク切れの画像:" + missing + " 個");
if (unknownLinks > 0) msgs.push("リンク情報を確認できない項目:" + unknownLinks + " 個(手動で確認)");
var rgbImages = 0;
for (var j = 0; j < doc.rasterItems.length; j++) {
if (doc.rasterItems[j].imageColorSpace === ImageColorSpace.RGB) rgbImages++;
}
if (rgbImages > 0) msgs.push("埋め込みの RGB 画像:" + rgbImages + " 個");
var whiteOp = 0;
for (var k = 0; k < doc.pathItems.length; k++) {
var p = doc.pathItems[k];
if (p.filled && p.fillOverprint && isWhite(p.fillColor)) whiteOp++;
else if (p.stroked && p.strokeOverprint && isWhite(p.strokeColor)) whiteOp++;
}
if (whiteOp > 0) msgs.push("オーバープリントの付いた白:" + whiteOp + " 個");
alert(msgs.length === 0 ? "このスクリプトの対象範囲では検出0件です。入稿条件は別途確認してください" : msgs.join("\n"));
}
main();直したのは、isWhiteの中でGrayColorを判定する次の1行だけです。
// 変更前(グレースケールの黒を白として数えていた)
if (c.typename === "GrayColor") return c.gray === 100;
// 変更後
if (c.typename === "GrayColor") return c.gray === 0;以前の版を保存している場合は、この1行を書き換えてください。
使い方
- 上のスクリプトを preflight.jsx という名前(BOM付きのUTF-8)で保存する
- 確かめたいファイルを開く
- 「ファイル」→「スクリプト」→「その他のスクリプト」から実行する
何も見つからなければ「このスクリプトの対象範囲では検出0件です。入稿条件は別途確認してください」、見つかれば項目ごとの数が表示されます。
調べていること
| 項目 | 使っているプロパティ |
|---|---|
| カラーモード | doc.documentColorSpace |
| アウトライン化していない文字 | doc.textFrames の数 |
| リンク切れ | placedItems の file が存在するか |
| 埋め込みの RGB 画像 | rasterItems の imageColorSpace |
| 白のオーバープリント | pathItems の fillOverprint・strokeOverprint と色 |
白かどうかは、CMYKならすべて0%、RGBなら255・255・255、GrayColorならgrayの値が0かどうかで判断します。
2026年10月16日の確認では、grayの値が100の図形はカラーパネルでK100%(黒)、0の図形はK0%(白)と表示されました。
特色の白・グラデーションやシンボルなどの検出範囲は、このサンプルでは保証していません。
グループ内の図形と複合パス内の図形は、2026年10月16日の確認で検出の対象に含まれました。
ロックや非表示の図形は確かめていません。
最後はオーバープリントプレビューで確かめます。
検出された項目が入稿不備かは、指定と照合する
| 表示された項目 | この検出だけでは決まらないこと | 次の確認 |
|---|---|---|
| RGBの文書・画像 | RGBを許容するワークフローか、CMYKへの変換が必要か。 | 入稿先の色条件とPDF/Xの選択を確認する。 |
| アウトライン化していない文字 | フォントを埋め込んだPDFを受け付けるか。 | 文字を残す/アウトライン化する条件と元AIの保管を決める。 |
| リンク切れ・リンク情報取得不能 | 同じ原因ではなく、取得不能を欠落確定へ読み替えない。 | リンクパネルで修復と保存先を確認する。 |
| プロセスの白のオーバープリント | 特色の白・グラデーション・全階層の検出結果は保証しない。 | 白の種類とオーバープリントプレビューを確認する。 |
検出0件は入稿合格の判定ではありません。白のプレビューと出力の考え方はAdobeのオーバープリントの説明、PDFの色・フォント・透明の設定はAdobe PDFオプションを参照してください。掲載コードの検出条件と、印刷先の受け入れ条件を分けて使います。
このスクリプトで分からないこと
- リンクしている画像が RGB かどうか(リンク画像の色は調べていない)
- 画像の解像度が足りているか
- 裁ち落としまで背景が伸びているか
入稿前の確認の全体は、Illustratorで印刷入稿データを作る手順で紹介しています。
白のオーバープリントがなぜ問題になるかは、Illustratorのオーバープリントの確認と設定で紹介しています。
まとめ
- 開いているファイルのRGB・未アウトライン・リンク切れ・RGB画像・白のオーバープリントを一覧にする
- ファイルは書き換えない
- 特色・グラデーション・シンボルなどの検出範囲は未検証。プレビューでも確かめる
参考:Adobe Illustrator Scripting Guide(Document・PathItem・RasterItem、2026年9月29日に確認)。
リンク切れと確認できない項目の区別
file.existsがfalseの項目をリンク切れとして数えます。fileの参照で例外になった項目は、原因を断定せず「リンク情報を確認できない項目」に分けます。画像の欠落が確定した数と、調べられなかった数を合算しないためです。どちらもリンクパネルで確認してください。
以前の版のGrayColorの白判定は、AdobeのIllustrator JavaScript Scripting Referenceにあるgrayの定義をもとにしていました。
Adobe資料をもとに維持されているGrayColorの参照ページでは、0が黒、100が白と説明されています(2026年10月16日に確認)。
ただし、同じ日にIllustrator 30.8.2で確かめた表示は逆で、100が黒、0が白だったため、実機の結果に合わせて判定を直しました。
特色・グラデーションなどはこの単色判定の対象外です。
白と黒の2図形による実機確認
2026年10月3日、Windows 11 Pro/Illustrator 30.8.2(64-bit)の自作CMYKドキュメントで、GrayColorのgrayの値が100と0の四角形を1個ずつ用意しました。
当時は、100を白、0を黒と考えていました。
両方のfillOverprintをtrueにして以前の版のチェック処理を実行したところ、結果は「オーバープリントの付いた白:1個」でした。
2026年10月16日の確認で、値が100の図形は実際には黒だと分かったため、この1個は黒の図形を白として数えたものでした。

grayの値が100の図形で、実際には黒でした。スクリプト実行中にキャンバスの描画が更新されていないため、図形の外観比較に使う画像ではありません。別の記録用ハーネスでも、2図形の型はGrayColor、値は100・0であり、実行後のパス数2と両方のオーバープリント属性trueを確認しました。
この処理は2図形の属性を変更していません。
直した版で確かめた結果(2026年10月16日)
Windows 11 Pro(10.0.26200)のAdobe Illustrator 30.8.2で、直した版を「ファイル」→「スクリプト」→「その他のスクリプト」から実行しました。
入力は400×240ptの自作CMYKドキュメントで、青い背景に、グループ内のGrayColorの四角形、複合パス内のCMYKの白(すべて0%)の四角形、CMYKの黒の四角形、アウトライン化していない文字1つを置きました。
3つの四角形の塗りには、どれもオーバープリントを付けています。
グループ内の四角形をgrayの値100にすると、画面では黒く表示され、カラーパネルはK100%でした。

grayの値100)を選択した実機画面(上部のメニューとファイルのタブの行を切り取り)。四角形は黒く表示され、カラーパネルはK100%。| 入力 | 以前の版 | 直した版 |
|---|---|---|
グループ内の四角形がgray100(黒) | 白2個(黒も数えた) | 白1個 |
グループ内の四角形がgray0(白) | 白1個(グループ内の白を見逃した) | 白2個 |
塗りなし・線幅12pt・gray0の白い線にオーバープリント | 確かめていない | 白1個 |
直した版では、どの入力でも白のオーバープリントの数が実際の白の図形の数と一致しました。
文字を置いた2つの入力では、アウトライン化していない文字も別の項目で1個と表示されました。

gray100(黒)の入力で直した版を実行し、「オーバープリントの付いた白:1個」と表示された実機画面(上部のメニューとファイルのタブの行を切り取り)。右の白はCMYKの白。
gray0(白)にした入力で直した版を実行し、「オーバープリントの付いた白:2個」と表示された実機画面(上部のメニューとファイルのタブの行を切り取り)。
gray0)にオーバープリントを付けた入力で直した版を実行し、「オーバープリントの付いた白:1個」と表示された実機画面(上部のメニューとファイルのタブの行を切り取り)。実行の前後で、図形の色やオーバープリントの設定は変わっていませんでした。
ドキュメントの準備はIllustratorのスクリプト機能で行い、画面で操作したのは直した版の実行だけです。
確かめていないのは、リンク切れや読み取れないリンク、RGBの文書と画像、特色・グラデーション・シンボル、塗りと線の両方が白の図形の数え方、ロックや非表示の図形、ほかのバージョンとmacOS、印刷の結果です。
結果が1個でも0個でも、そのほかの入稿条件を満たすとは判断しません。
よくある質問:入稿前チェックのスクリプト
このスクリプトは、何を調べますか?
開いているファイルのよくある問題を数えて、一覧で表示します。調べる項目は、カラーモードがRGBになっていないか、アウトライン化していない文字が残っていないか、リンク切れの画像がないか、埋め込み画像にRGBのものがないか、白いオブジェクトにオーバープリントが付いていないか、の5つです。見つけて知らせるだけで、ファイルは何も書き換えません。
スクリプトは、どうやって実行しますか?
掲載のスクリプトを preflight.jsx という名前(BOM付きのUTF-8)で保存し、確かめたいファイルを開きます。「ファイル」→「スクリプト」→「その他のスクリプト」から実行します。何も見つからなければ「このスクリプトの対象範囲では検出0件です。入稿条件は別途確認してください」と表示され、見つかれば項目ごとの数が表示されます。
検出0件なら、入稿して大丈夫ですか?
いいえ。検出0件は入稿合格の判定ではありません。記事では、掲載コードの検出条件と、印刷先の受け入れ条件を分けて使うよう案内しています。結果が1個でも0個でも、ほかの入稿条件を満たすとは判断できないため、入稿先の色条件やPDF/Xの選択、フォントの扱いは、入稿先に確認してください。
検出された項目は、すべて入稿不備ですか?
この検出だけでは決まりません。たとえばRGBの文書・画像は、RGBを許容するワークフローか、CMYKへの変換が必要かを入稿先の条件で判断します。アウトライン化していない文字は、フォントを埋め込んだPDFを受け付けるかで変わります。リンク切れとリンク情報取得不能は同じ原因ではないため、取得不能を欠落確定へ読み替えず、リンクパネルで修復と保存先を確認してください。
このスクリプトで分からないことは何ですか?
リンクしている画像がRGBかどうか(リンク画像の色は調べていません)、画像の解像度が足りているか、裁ち落としまで背景が伸びているか、は分かりません。
特色の白、グラデーションやシンボルの検出範囲も保証していません。
グループ内と複合パス内の図形は検出の対象に含まれることを確かめましたが、ロックや非表示の図形は確かめていません。
最後はオーバープリントプレビューで確かめてください。
「白のオーバープリント」は、どう判定していますか?
白かどうかは、CMYKならすべて0%、RGBなら255・255・255、GrayColorならgrayの値が0かどうかで判断します。
2026年10月16日より前の版は値が100の色を白としていたため、グレースケールの黒を白として数え、グレースケールの白を見逃していました。
特色の白やグラデーションなどは、この単色判定の対象外です。
実際のIllustratorで、動作を確認していますか?
2026年10月16日に、Windows 11 ProのIllustrator 30.8.2で、直した版を確かめました。
グループ内のグレースケールの黒は数えず、グループ内のグレースケールの白、複合パス内のCMYKの白、白い線は、白のオーバープリントとして数えました。
2026年10月3日の確認では値が100の図形を白と考えていましたが、実際には黒で、以前の版は黒を白として数えていました。
リンク切れ、読み取り不能なリンク、特色・グラデーション・シンボル、Macは実機では未確認です。
記事の内容は、お使いの環境でもそのまま当てはまりますか?
スクリプトは、Adobe Illustrator Scripting Guide(2026年9月29日に確認)のプロパティの説明をもとに作っています。ご自分の環境やバージョンで動作や表示が異なる場合があるため、まず小さなテストファイルで試し、最新はAdobe公式の資料で確認してください。
