先週Twitterで流れ弾が飛んできたので、試しに書いてみました。
IllustratorでAI保存する際のオプションを制御するJavaScriptです。
Leopardで書いたのでWindowsで動くかは試してません。
もし動かなかったらそれを直して使うのがScripterの第一歩だよ!(責任転嫁)
<仕様>
●「PDF互換ファイルを作成」にチェックする
●「配置した画像を含む」にチェックしない
●「ICCプロファイルを埋め込む」にチェックしない
●「圧縮を使用する」にチェックする
<注意点>
AISaveOptionsっていうまんまのクラスがあったけど、なぜかエラーになった。
ググったらAdobeのフォーラムで同じことを聞いている人がいて、「IllustratorSaveOptionsを使え」って回答があったので、試しにそれにしてみたら動いた。
なにこのトラップ。
あほかー。
//フォルダを選択var folderObj = Folder.selectDialog("aiファイルのあるフォルダを選択してください") ;
//保存先を選択
var saveObj = Folder.selectDialog("保存先のフォルダを選択してください") ;
var saveObj = saveObj + "/" ; //末尾に区切りのスラッシュが抜けているので足しておく
//inddファイルを配列化(小文字・大文字無視)
var fileListIAI = folderObj.getFiles("*.ai") ;
//AI保存時のオプション設定
var aiOptions = new IllustratorSaveOptions;
with (aiOptions) {
pdfCompatible = true ; //PDF互換ファイルを作成→チェックオン
embedLinkedFiles = false ; //配置した画像を含む→チェックオフ
embedICCProfile = false ; //ICCプロファイルを埋め込む→チェックオフ
compressed = true ; //圧縮を使用する→チェックオン
}
//ファイル数分繰り返す
for (i = 0; i < fileListIAI.length ; i ++) {
//ファイルを開く
app.open(fileListIAI[i]) ;
//作業するドキュメントなどを変数に代入
var docObj = app.activeDocument;
//ドキュメント名を取得
var fsName = docObj.name ;
var fsArray = fsName.split(".") ;
var aiName = fsArray[0] ; //ドキュメント名取得できた
//ファイル生成
var saveFile = new File(saveObj + aiName + ".ai");
//保存
docObj.saveAs(saveFile, aiOptions);
//ドキュメントを閉じる
app.activeDocument.close() ;
}