Illustratorで複数のAIファイルを同時に開いて作業してる時に全部PNGでデータくれって言われた時用。
開いているすべての.aiファイルを、一括でPNG形式に書き出すJavaScript(ExtendScript)
透明背景あり/なし、両パターンメモ
準備:スクリプトの使い方
- Illustratorで複数の
.ai
ファイルを開いておく - 以下のスクリプトを
.jsx
ファイルとして保存(例:exportPNGs.jsx
) - Illustratorメニューから「ファイル」→「スクリプト」→「その他のスクリプト」を選択
- 保存した
.jsx
ファイルを実行し、保存先フォルダを選ぶ
パターン①:透明背景でPNG書き出し
背景透過の画像が欲しいとき
function exportPNG(doc, destFolder) {
var options = new ExportOptionsPNG24();
options.antiAliasing = true;
options.transparency = true;
options.artBoardClipping = true;
options.horizontalScale = 100;
options.verticalScale = 100;
var fileName = decodeURI(doc.name).replace(/\.ai$/i, '') + ".png";
var destFile = new File(destFolder + "/" + fileName);
app.activeDocument = doc;
doc.exportFile(destFile, ExportType.PNG24, options);
}
(function () {
if (app.documents.length === 0) {
alert("開いているドキュメントがありません。");
return;
}
var destFolder = Folder.selectDialog("PNGの保存先フォルダを選択してください");
if (!destFolder) return;
for (var i = 0; i < app.documents.length; i++) {
var doc = app.documents[i];
exportPNG(doc, destFolder);
}
alert("すべてのファイルをPNG(透明背景)で保存しました!");
})();
パターン②:白背景でPNG書き出し(透明なし)
背景透過が不要な場合
function exportPNG_NoTransparency(doc, destFolder) {
var options = new ExportOptionsPNG24();
options.antiAliasing = true;
options.transparency = false; // ← ここが透明オフ
options.artBoardClipping = true;
options.horizontalScale = 100;
options.verticalScale = 100;
var fileName = decodeURI(doc.name).replace(/\.ai$/i, '') + "_白背景.png";
var destFile = new File(destFolder + "/" + fileName);
app.activeDocument = doc;
doc.exportFile(destFile, ExportType.PNG24, options);
}
(function () {
if (app.documents.length === 0) {
alert("開いているドキュメントがありません。");
return;
}
var destFolder = Folder.selectDialog("PNG(白背景)の保存先フォルダを選択してください");
if (!destFolder) return;
for (var i = 0; i < app.documents.length; i++) {
var doc = app.documents[i];
exportPNG_NoTransparency(doc, destFolder);
}
alert("白背景でのPNG保存が完了しました!");
})();
その他変更可能
- 書き出し解像度を変えたい →
horizontalScale
を変更 - ファイル名に日付や接尾辞を追加
- アートボードごとに書き出し
- JPEGで一括保存