数十ファイルもののillustratorCS5で作成されたファイルを
CS3バージョンに保存し直して欲しいと依頼が。
数が半端じゃないので、スクリプトにチャレンジ。
素人工事なので、間違いとか、無駄な処理があるよとか、
あればアドバイスお願いします!
作ること2時間。
なんとか、動いてくれたけど、いちいち、ファイルを開くのは、
時間がかかる・・・。開かずに処理できる方法はないのかな。
参考
下記サイトのスクリプトを参考にさせていただきました!
ありがとうございます。
イラレCS2からCSへのファイル形式のバージョン変更
http://okwave.jp/qa/q2890296.html
日刊デジタルクリエイターズ
■クリエイター手抜きプロジェクト[253]Illustrator CS/CS2/CS3/CS4/CS5編
サブフォルダ内にある全てのAIファイルを開く/古籏一浩
http://blog.dgcr.com/mt/dgcr/archives/i/20101004140200.html
Script(JavaScript)
フォルダを選択して、そのフォルダ以下のサブフォルダを含めた、
.aiファイルを全て、指定したバージョンで保存しなおします。
バージョン等の指定は、スクリプトの最下部の方で設定。
folderRef = Folder.selectDialog("フォルダを選択してください"); fList = getAllFile(folderRef, [".ai"]); // 拡張子は小文字で //ファイル一覧の表示 //alert(fList); var n=0; try{ for(var i=0; i<fList.length; i++){ //上位バージョンを下位バージョンで開くとダイアログが出るのを防ぐ app.userInteractionLevel=UserInteractionLevel.DONTDISPLAYALERTS; app.open(fList[i]); app.userInteractionLevel=UserInteractionLevel.DISPLAYALERTS; saveascs(activeDocument); activeDocument.close(SaveOptions.DONOTSAVECHANGES); n++; } } catch(someError){ alert( "JavaScript error occurred. Message = " + someError.description) } // サブフォルダも含めたファイル一覧を取得する関数 function getAllFile(folderObj, ext) { if (!folderObj) return; // キャンセルされたら処理しない var list = []; getFolder(folderObj); return list; // フォルダ内の一覧を取得 function getFolder(folderObj) { var fileList = folderObj.getFiles(); for (var i=0; i<fileList.length; i++) { if (fileList[i].getFiles) { getFolder(fileList[i]); // サブフォルダがある限り繰り返す } else { var f = fileList[i].name.toLowerCase(); for(var j=0; j<ext.length; j++) { if (f.indexOf(ext[j]) > -1) { list.push(fileList[i]); } } } } } } function saveascs(docObj) { var saveOptions = new IllustratorSaveOptions; var currentname = new Array(); var currentname = docObj.name.split("."); //書き出しファイル名。同じファイル名があると上書きされます。 var changedname = "" + currentname[0].toString() + "" + ".ai"; var documentPath = docObj.path + "/" + changedname; var fileSpec = new File(documentPath); //バージョン CS=11/CS2=12/CS3=13/CS4=14 saveOptions.compatibility = Compatibility.ILLUSTRATOR13; saveOptions.flattenOutput = OutputFlattening.PRESERVEAPPEARANCE; saveOptions.fontSubsetThreshold = 0; //PDF互換ファイルを作成 saveOptions.pdfCompatibility = true; //配置した画像を含む saveOptions.embedLinkedFiles = false; //ICCプロファイルを埋め込む saveOptions.embedICCProfile = true; saveOptions.embedAllFonts = false; //圧縮を使用 saveOptions.compressed = true; docObj.saveAs(fileSpec, saveOptions); }
※スクリプトは「.jsx」、文字コード「UTF-8」で保存して、
illustrator > ファイル > スクリプト > その他のスクリプト... から使います。
自己責任でおねがいします!
にほんブログ村 3DCG
[click!]
Real clean site, thankyou for this post.