github:09_graphic.py
from appscript import * indd = app("Adobe InDesign 2022") doc = indd.make(new=k.document) page1 = doc.pages[1] # 長方形フレームツールを追加 rectangle = page1.make(new=k.rectangle, with_properties={ k.geometric_bounds: [20, 20, 100, 100], k.stroke_weight: 0.5 }) print(rectangle.class_()) # k.rectangle # 画像パス:フルパスのみ有効 img = "/Users/***/Desktop/test.png" # img = "/Users/***/Desktop/test.pdf" # pdfもOK # 画像を配置 # rectangle.place(img) # Error! rectangle.place(mactypes.Alias(img)) # rectangle.place(mactypes.File(img)) # OK # オブジェクトサイズを調整 rectangle.fit(given=k.proportionally) # 内容を縦横比率に応じて合わせる # 画像の透明度 rectangle.transparency_settings.blending_settings.opacity.set(80) # フレーム/画像を回転 # rectangle.rotation_angle.set(-45) # rotate rectangle # rectangle.graphics[1].rotation_angle.set(-45) # rotate 1st graphic # リンク画像のパスを取得:コロン区切り file_path = rectangle.graphics[1].item_link.file_path.get() print("file_path: ", file_path) # Macintosh HD:Users:***:Desktop:test.png # リンク画像所属のレイヤ名を取得 layer_name = rectangle.graphics[1].item_layer.name.get() print("layer_name: ", layer_name) # レイヤー 1/Layer 1 # キャプション(画像パス)を画像の下側に追加 b = rectangle.visible_bounds.get() bounds = [b[2], b[1], b[2] + 10, b[3]] page1.make(new=k.text_frame, with_properties={ k.visible_bounds: bounds, k.contents: file_path }) # QRコードを追加 rectangle2 = page1.make(new=k.rectangle, with_properties={ k.geometric_bounds: [20, 120, 50, 150], # w=h=30 k.fill_color: "Paper", k.stroke_color: "None", k.stroke_weight: 0, }) rectangle2.Create_Plain_Text_QR_Code(plain_text="https://www.autodtp.app")