InDesignのlayerについてのサンプルコード
github: 04_layer.py
from appscript import * indd = app("Adobe InDesign CC 2019") doc = indd.make(new=k.document) # レイヤ名を変更 doc.layers[1].name.set("Layer 1") # 新しいレイヤを4つ追加 for i in range(2, 6): doc.make(new=k.layer, with_properties={k.name: f"Layer {i}"}) # 全レイヤオブジェクトのリスト layers = doc.layers() # レイヤの総数 print(f"count of layers: {len(layers)}") # 5 # 1,3,5番目をロック、2,4番目を隠す for i, layer in enumerate(layers): if (i + 1) in (1, 3, 5): layer.locked.set(True) elif (i + 1) in (2, 4): layer.visible.set(False) # レイヤをコピー new_layer = layers[0].duplicate() new_layer.name.set("new_layer") # ロック解除 new_layer.locked.set(False) # activateレイヤを指定 doc.active_layer.set(new_layer) # レイヤを移動 target_layer = doc.layers["Layer 3"] new_layer.move(to=target_layer.after) # target_layerの下へ移動:after new_layer.move(to=target_layer.before) # target_layerの上へ移動:before # 該当レイヤを一番下へ移動(下記数行は全く同じ!):end # synax: a_layer.move(to=any_layer.end) new_layer.move(to=layers[0].end) # index: 0~len(layers) or -1~-(len) # new_layer.move(to=layers[1].end) # new_layer.move(to=layers[-1].end) # new_layer.move(to=target_layer.end) # 該当レイヤを一番上へ移動:beginning # synax: a_layer.move(to=any_layer.beginning) new_layer.move(to=layers[0].beginning)