« ソニックブーム | メイン | 明日で10月に入るとかなんとかかんとか »
2013年9月23日
Illustrator / 指定ディレクトリ下の*.aiを全てPDFに保存する >>Illustrator
Illustrator で 指定ディレクトリ下の*.aiを全てPDFに保存するスクリプトサンプル
inddでもちょっと作り変えれば使えます。200ページあったりすると手作業ではやってられないからね。
inddでもちょっと作り変えれば使えます。200ページあったりすると手作業ではやってられないからね。
// ===========================================================
//
// 指定フォルダ以下の.aiを全てPDF に書き出すScript
//
// 2013.09.23 debizoh / MasamiOhkubo
// ===========================================================
//app.scriptPreferences.userInteractionLevel = UserInteractionLevels.interactWithAll;//CS3でのおまじない(ダイアログウインドウの表示許可みたいなもの)
var document_open_folder = Folder.selectDialog("Aiドキュメントのあるフォルダを選択してください");
if (document_open_folder == null){ //フォルダ選択ダイアログでキャンセルを押したらここを通る
exit();
}
var save_folder = Folder.selectDialog("保存するフォルダを選択してください");
if (save_folder == null){ //フォルダ選択ダイアログでキャンセルを押したらここを通る
exit();
}
var ai_List = F_findFile(document_open_folder); //関数呼び出し(選択フォルダ以下全てのaiファイル取得)
if ( ai_List.length === 0 ) { //返り値の配列が0なら
alert("Aiファイルが見つかりませんでした");
exit();
}
for (i=0; i < ai_List.length; i++)
{
// もし、リンク切れ、フォント環境の違いが多々でるようなら以下有効にして、アラートでないように
//app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTRACT
//open
fileObj = new File(ai_List[i].fsName);
open(fileObj);
fileObj.open();
document = app.activeDocument;
namecount = (fileObj.name).lastIndexOf(".");
distname = (fileObj.name).substr(0, namecount);
options = new PDFSaveOptions();
options.pDFPreset = "[PDF/X-1a:2001 (日本)]"; // Adobe PDFプリセット名を入力してください。
options.preserveEditability = false;
savefile = new File(save_folder + "/" + distname + ".pdf");
document.saveAs(savefile,options);
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
function F_findFile(document_open_folder) {
var ai_List=[]; //返り値用の配列
var all_List = document_open_folder.getFiles(); //フォルダの内容を全て取得
for (var i=0; i < all_List.length; i++) {
if(all_List[i] instanceof Folder) { //フォルダなら...
var res = F_findFile(all_List[i]); //再帰的呼び出し
ai_List= ai_List.concat(res); //返り値を配列に加える(配列の結合)
}
var all_List_fName = all_List[i].name;
if (all_List_fName.match (/\.ai/)) {
ai_List.push(all_List[i]);
}
}
return ai_List; //配列を返す
}
ダウンロードしたいならこちらからどうぞ。:BatchPDF.txt
トラックバック
現在、この記事はトラックバックを受け付けておりません。
コメント
現在、この記事はコメントを受け付けておりません。
この記事をTwitterでみんなに教える。