Skip to main content
Known Participant
December 4, 2023
解決済み

【Adobe illustratorのスクリプトについて】 レイヤーごとに書き出し

  • December 4, 2023
  • 返信数 2.
  • 4769 ビュー

Adobe illustratorのスクリプトについてご教示ください。

現在、こちらのリンクを参考に

https://onishi-noboru.com/adobe-illustrator-how-to-export-artwork-by-layers

レイヤーごとにまとめて書き出すスクリプトを使用しているのですが


現在の機能に追加で、
一番上のレイヤーを必ず表示させて書き出しするようには可能でしょうか?

仕事で、ガイドレイヤーを表示しつつ、各レイヤーを書き出ししたく。。。


現在は、面倒ですが入稿データ作成後に、各レイヤーに
一番上のレイヤー(ガイドレイヤー)をフロントペーストして
書き出ししております。

不可能なら諦めるのですが、
スクリプトやコードについて詳しい方がおられましたら
お力添えいただけますと幸いです。

よろしくお願い致します

 

 

【使用中のコード】

var folder = Folder.selectDialog();
var document = app.activeDocument;
if(document && folder)
{
var options = new ExportOptionsPNG24();
options.antiAliasing = true;
options.transparency = true;
options.artBoardClipping = true;

var n = document.layers.length;
for(var i=0; i<n; ++i)
{
hideAllLayers();
var layer = document.layers[i];
layer.visible = true;

var file = new File(folder.fsName+"/"+layer.name+".png");

document.exportFile(file,ExportType.PNG24,options);
}

showAllLayers();
}

function hideAllLayers()
{
forEach(document.layers, function(layer) {
layer.visible = false;
});
}

function showAllLayers()
{
forEach(document.layers, function(layer) {
layer.visible = true;
});
}

function forEach(collection, fn)
{
var n = collection.length;
for(var i=0; i<n; ++i)
{
fn(collection[i]);
}
}


 

このトピックへの返信は締め切られました。
解決に役立った回答 ajabon grinsmith

添付忘れてしまいました。


すごい失礼しました

document.layers[0]以下略 ですね…

返信数 2

Ten A
Community Expert
Community Expert
December 4, 2023

もちろん可能なんですけど、Web上で公開されているスクリプトだとしても権利が発生する著作物にかわりありません。まるまる転載はよろしくありません。

 

一番上ということはlayers[0]ですから、それのvisibleプロパティをtrueにすると良いでしょう。

sena1123作成者
Known Participant
December 4, 2023

テンA様

早速のご回答ありがとうございます。

>Web上で公開されているスクリプトだとしても権利が発生する著作物にかわりありません。まるまる転載はよろしくありません。

 

そうですね。ご指摘いただきありがとうございます。

申し訳ございません。以後気をつけます。

 

当方、コードの仕組みについてあまりわかっておらず

layer[0].visible = true;

 

をどこかに追加すれば良いということでしょうか?

知識不足で大変恐縮でございますが

どこに追加すれば良いかなど、お教えいただけますと幸いです。。

よろしくお願い致します。

ajabon grinsmith
Community Expert
Community Expert
December 4, 2023

横からすみません

 

>Web上で公開されているスクリプトだとしても権利が発生する著作物にかわりありません。まるまる転載はよろしくありません。

 

このことについて、「もう転載しちゃったものは仕方ない」として話を進めることの是非が問われる問題だと思うのです。本来は公開元のほうで転載や二次的配布、改変などについての著作権範囲を記載しておくのがベストですが、たとえそれがなかった場合でも最初に著作者であるリンク先にお伺いをたてるのがお行儀というものでしょう。

それは今からでも全然間に合いますのでぜひご検討ください。

 

わからないなりによく見ると、書き出しを実行している行がわかるはずです。

>document.exportFile(file,ExportType.PNG24,options);

これのすぐ上に追記すればそれなりの結果になるかと。

構文としてはとてもぶさいくになりますが要件は果たせるはずです。

sena1123作成者
Known Participant
December 4, 2023

追記【PCの構成】
OS: mac OS Mounterey 
Mem : 64GB
CPU : 3.8 GHz 8コアIntel Core i7

 

です。よろしくお願いします。