クリエイター手抜きプロジェクト[379]Adobe Illustrator CS3〜CC編 EPSファイルが配置されているか調べる/古籏一浩

投稿:  著者:  読了時間:8分(本文:約3,900文字)


Illustratorを古くから使っている人にはなじみのあるEPSファイルですが、今となっては時代遅れということで使わないでね、との事(Adobeのセミナーでも、そう言ってました)。

ということで、今回は配置されている画像がEPSかどうか調べるスクリプトです。InDesignではEPSファイル専用のオブジェクトがあるので、簡単に調べることができますが、なぜか本家Illustratorではそれができません。

仕方ないので、リンクされている画像のファイル名の拡張子を調べてEPSファイルかどうか判定するようにしました。

以下のスクリプトは、現在開いているファイルにEPS画像が配置されているか調べて、結果をファイルに書き出します。EPSファイルが、複数配置されている場合やレイヤー構造が複雑な場合、画像の場所が特定しにくいので、配置画像のフルパスとともに、レイヤー名も書き出すようにしてあります。


// 現在のドキュメントにEPSファイルが配置されているか調べる
function checkEPS(saveObj){
var count = 0;
var pItems = activeDocument.placedItems;
for(var i=0; i<pItems.length; i++){
var ptr = pItems[i].file.name.indexOf(".eps");
if(ptr > -1){
saveObj.writeln(pItems[i].file.fsName+" ★"+pItems[i].layer.name);
count++;
try {
pItems[i].selected = true;
}catch(e){
// レイヤーロックを解除
pItems[i].layer.locked = false;
pItems[i].locked = false;
pItems[i].selected = true;
}
}
}
// 結果を出力
if (count > 0){
saveObj.writeln("---------------------------");
saveObj.writeln("合計"+pItems.length+"個のうちEPSファイルは"+count+"個でした");
saveObj.writeln("=================");
alert("EPSファイルが"+count+"個含まれています");
}else{
saveObj.writeln("EPSファイルは含まれていませんでした。");
}
}
(function (){
var f = File.saveDialog("保存ファイル名を指定してください");
if (!f){ return; }
var flag = f.open("w");
if (!flag){ return; }
checkEPS(f);
f.close();
})();


過去に作成した複数のAIファイルをまとめて調べるには、以下のスクリプトを使用してください。指定したフォルダにあるAIファイルをすべて開いて、EPSファイルが配置されているかチェックし結果を、テキストファイルで書き出します。なお、サブフォルダはチェックしないので注意してください。


// 指定されたフォルダにあるAIファイル中にepsファイルがあるか調べる
function checkEPS(saveObj){
var count = 0;
var pItems = activeDocument.placedItems;
for(var i=0; i<pItems.length; i++){
var ptr = pItems[i].file.name.indexOf(".eps");
if(ptr > -1){
saveObj.writeln(pItems[i].file.fsName+" ★"+pItems[i].layer.name);
count++;
try {
pItems[i].selected = true;
}catch(e){
// レイヤーロックを解除
pItems[i].layer.locked = false;
pItems[i].locked = false;
pItems[i].selected = true;
}
}
}
// 結果を出力
if (count > 0){
saveObj.writeln("---------------------------");
saveObj.writeln("合計"+pItems.length+"個のうちEPSファイルは"+count+"個でした");
}else{
saveObj.writeln("EPSファイルは含まれていませんでした。");
}
saveObj.writeln("=================");
}
(function (){
var checkFolder = Folder.selectDialog("調べるAIファイルがあるフォルダを選択してください");
if (!checkFolder){ return; } // キャンセルした場合は何もしない
var fileList = checkFolder.getFiles("*.ai");
if (fileList.length < 1){
alert("AIファイルがありません");
return;
}
var f = File.saveDialog("保存ファイル名を指定してください");
if (!f){ return; }
var flag = f.open("w");
if (!flag){ return; }
for(var i=0; i<fileList.length; i++){
app.open(fileList[i]);
f.writeln("■ファイル:"+fileList[i].name);
checkEPS(f);
app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
f.close();
})();


【古籏一浩】openspc@alpha.ocn.ne.jp
< http://www.openspc2.org/ >

今日も雪が降ったけど、ほとんど積もらず。5cm〜10cmくらいで済みました。おまけに、すぐにとけてしまいました。せっかくの大雪なので道路を撮影してどのくらいの雪だったのかを道路景観アーカイブに追加しておきました。
国道19号、20号線は塩尻インターあたりから急激に雪が多くなり、市役所付近で90cmほどの積雪。しかし、岡谷方面(諏訪湖の方)にいくと、不思議なほど雪がない状態。

・道路景観アーカイブ
< http://www.openspc2.org/travel/ >

それにしても地域関係の役が多すぎて(7つくらいある。処理するのに3〜4日徹夜状態になることも)片づけられない状態。

田舎暮らしはよさそうに思えるけど、世代によっては猛烈に役が回ってきて重なり(やらない人の分までくるので)、非常に大変な状態になることがあります。そもそも、仕事にならないので収入激減というオチ。

近所の自営業で何らかの役をやったりした人が、廃業して他に行ってしまったりとかいうのも、ようやく分かるようになってきた。能ある鷹は爪を隠す、というのは人間らしく生活するための知恵だったのかと実感。

ちなみに昔の若い人は、さっさと出て行ってしまって残ってるのは老人。で、1970年代と同じようにやるもんだから、40代以下の負担がものすごい状態になるという。人数的にも40代より75歳以上の方が多いし……。

今日一日で5つほどの役や処理を行わなければいけないという、ナイスなオチでございます。で、編集長から「原稿まだ〜」のメールが来るというオチでもございます。

・D3.js例文辞典
< http://www.openspc2.org/reibun/D3.js/ >

・Dart例文辞典
< http://www.openspc2.org/reibun/Dart/ver1.1/ >

・Adobe CS2〜CS6,CC JavaScriptリファレンス&ライブラリ
< http://www.openspc2.org/reibun/AdobeJS/index.html >

・Adobe JavaScriptリファレンス(検索できないのはKindleのバグらしい)
< http://www.amazon.co.jp/dp/4844395955 >

・ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/ >

・Nexus 7(アンドロイドタブレット)使い方辞典
< http://www.openspc2.org/reibun/Android/Nexus7/ >

・JavaScript逆引きハンドブック
< http://www.amazon.co.jp/dp/4863541082 >

・クリエイター手抜きプロジェクト
< http://www.openspc2.org/projectX/ >

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/ >
吉田印刷所の「印刷の泉」でも購入できるようになりました。