2010年12月アーカイブ

数十ファイルものの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 > ファイル > スクリプト > その他のスクリプト... から使います。

自己責任でおねがいします!

+ 更新の励みに1クリックで応援してください +
にほんブログ村 3DCG
[click!]
1

LINK

COUNT

  • Total:
  • Today:
  • Yesterday:

このアーカイブについて

このページには、2010年12月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2010年9月です。

次のアーカイブは2011年2月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

RANKING

ブログランキング参加中!
応援よろしくお願いします

にほんブログ村 デザインブログ 3DCGへ

blogram投票ボタン