-
1. Re: JavaScriptでPhotoshop以外の画像フレームに不透明度を設定する
にゃす Oct 15, 2009 12:09 AM (pokt への返信)不完全ですが参考になれば。
TIFF, EPS, PSD 以外のフレームに不透明度50%を設定します。
必要に応じてグラフィックの形式は足したり引いたりしてください。
[ Vista + CS4 ]
var myGraphics = app.activeDocument.allGraphics;
for(i=0; i<myGraphics.length; i++) {
if( (myGraphics[i].imageTypeName != "TIFF") &&
(myGraphics[i].imageTypeName != "EPS") &&
(myGraphics[i].imageTypeName != "Photoshop")) {
myGraphics[i].parent.transparencySettings.blendingSettings.opacity = 50;
}
}イラレEPSとPhotoshopEPSの区別はしていません。
メタデータがあれば linkMetadata で取得できると思いますが、メタデータが無い場合の取得方法が?
ファイルをリードして Creator を確認すればできそうな気もしますが、
皆さんはどうやっているのでしょうか?
-
2. Re: JavaScriptでPhotoshop以外の画像フレームに不透明度を設定する
pokt Oct 15, 2009 3:10 AM (にゃす への返信)おせわさまです。
早速のご教授ありがとうございました。
当環境(WindowsXPとInDesignCS2)で下記のスクリプトでテストをいたしましたところ、「TIFF」・「EPS」・「PSD」全て透明設定がかかってしまいました。
var myGraphics = app.activeDocument.allGraphics;
for(i=0; i<myGraphics.length; i++) {
if( (myGraphics[i].imageTypeName != "TIFF") &&
(myGraphics[i].imageTypeName != "EPS") &&
(myGraphics[i].imageTypeName != "Photoshop")) {
myGraphics[i].opacity = 50;
}
}「CS4」と「CS2」の違いだと思います。
引き続きご指導・ご教授お願い申し上げます。
-
3. Re: JavaScriptでPhotoshop以外の画像フレームに不透明度を設定する
にゃす Oct 15, 2009 5:19 AM (pokt への返信)CS2 だと imageTypeName が空っぽ?
ということで、拡張子で振り分けてみました。
.TIFF/.TIF/.tiff/.tif/.EPS/.eps/.PSD/.psd 以外は不透明度50%に。
[ CS2 ]
var myGraphics = app.activeDocument.allGraphics;
for(i=0; i<myGraphics.length; i++) {
var myFileName = myGraphics[i].itemLink.name;
if( (myFileName.search(/.TIF?F$/i) == -1) &&
(myFileName.search(/.EPS$/i) == -1) &&
(myFileName.search(/.PSD$/i) == -1)) {
myGraphics[i].parent.opacity = 50;}
}[ CS4 ]
var myGraphics = app.activeDocument.allGraphics;
for(i=0; i<myGraphics.length; i++) {
var myFileName = myGraphics[i].itemLink.name;
if( (myFileName.search(/.TIF?F$/i) == -1) &&
(myFileName.search(/.EPS$/i) == -1) &&
(myFileName.search(/.PSD$/i) == -1)) {
myGraphics[i].parent.transparencySettings.blendingSettings.opacity = 50;
}
}CS2 の方はテストしてませんが、動くでしょうか?
-
4. Re: JavaScriptでPhotoshop以外の画像フレームに不透明度を設定する
pokt Oct 15, 2009 4:47 PM (にゃす への返信)にゃす様
スクリプトのご教授ありがとうございました。
完璧に動作いたしました。
たいへん勉強になりました。
・「itemLink.name;」で「リンク名」で検索するのですね。
・「search(/.*/i) 」で「正規表現」でリンクの種類を検索するのですね。
・「parent.opacity」で「グラフィックの【フレーム】」に透明設定をかけるのですね。
完全に希望していたとおりの結果を得ることができました。
本当にありがとうございました。
※あつかましいお願いなのですが、フォーラムに載せております、「XML読み込み」後の各フレームのXMLの解除方法をご教授いただければ幸いです。
現在は各頁で全選択をして、「タグパレット」の「解除」ボタンをクリックしております。
1000頁の場合は、ドキュメントを見開きにしておりましても、500回程度の同じ作業の繰り返しです。
よろしくお願い申し上げます。
pokt

