オブジェクトレイヤーオプションを制御。
by buruge ~ 9月 14th, 2010. Filed under: DTP, InDesignCS3+javascript.InDesignCS3で、aiデータのレイヤー表示非表示を試したのでメモします。
お仕事で頼まれていたのですが、実際に使う事はなく試しただけだったので、今後の為に。
通常は「オブジェクト」メニューから「オブジェクトレイヤーオプション」を選択して設定をするか、再リンクする際に「読み込みオプション」を表示させて設定することができます。
- レイヤーの表示
var imgObj = app.activeDocument.pages[0].allGraphics[0];
//リンク画像の1 番上のレイヤー名を表示
alert(imgObj.graphicLayerOptions.graphicLayers[0].name);
//リンク画像の上から2層目のレイヤーを表示
imgObj.graphicLayerOptions.graphicLayers[1].currentVisibility = true;
//リンク画像の上から4層目のレイヤーを非表示
imgObj.graphicLayerOptions.graphicLayers[3].currentVisibility = false;
- リンク更新時のオプション設定
//「レイヤーの可視性を使用」
imgObj.graphicLayerOptions.updateLinkOption = UpdateLinkOptions.applicationSettings;
//「レイヤーの可視性オーバーライドを維持」
imgObj.graphicLayerOptions.updateLinkOption = UpdateLinkOptions.keepOverrides;
こんな感じ。
同じようなオブジェクトをなるべくひとつのイラレファイルだけでを扱いたい時等に使えるかも。
レイヤー名も取得できるからレイヤー順がバラバラでも名前で判別できるかもしれないですねー。