InDesignのlayerについてのサンプルコード
github: 05_character.py
from appscript import * def add_CYMK_color(doc, values: list, name: str): # add a CMYK color to document return doc.make(new=k.color, with_properties={ k.model: k.process, k.space: k.CMYK, k.color_value: values, k.name: name }) indd = app("Adobe InDesign CC 2019") doc = indd.make(new=k.document) page = doc.pages[1] tf = page.make(new=k.text_frame, with_properties={ k.contents: "DEFGHIJKLMNOPQRSTUVWXYZ", k.geometric_bounds: [20, 20, 40, 85] }) # 先頭に文字を追加 tf.insertion_points[1].contents.set("ABC\r") characters = tf.characters # 文字サイズを設定 characters[1].point_size.set("20 pt") # point characters[2].point_size.set("40 pt") characters[3].point_size.set("40 Q") # quarter # CMYK色を追加 red_color = add_CYMK_color(doc, [0, 100, 100, 0], "red") orange_color = add_CYMK_color(doc, [0, 80, 100, 0], "orange") # 既存の色を cyan_color = doc.swatches["C=100 M=0 Y=0 K=0"] # 文字に塗り(色)追加 characters[2].fill_color.set(red_color) characters[3].fill_color.set(orange_color) # font fonts = indd.fonts # list all fonts # for font in fonts(): # print(font.name.get()) # フォントを適用 Arial_font = fonts['Arial\tRegular'] characters[2].applied_font.set(Arial_font) # 長体、平体をかける characters[2].properties_.set({ k.horizontal_scale: 80, k.vertical_scale: 150 }) # 線、線色を適用 characters[2].stroke_color.set(cyan_color) characters[2].stroke_weight.set("0.5mm") # 下線を追加 characters[3].properties_.set({ k.underline: True, k.underline_color: "Black"}) # アウトラインを作成 tf2 = page.make(new=k.text_frame, with_properties={ k.contents: "test " * 5, k.geometric_bounds: [50, 20, 60, 85] }) # textFrame全体をアウトライン化 # tf2.create_outlines(tf2, delete_original=True) # 6番目の文字のみアウトライン化 tf2.create_outlines(tf2.characters[6], delete_original=True) # 8-9番目の文字をアウトライン化。space,Tab,改行などの特殊(制御)文字が存在する場合、エラー! tf2.create_outlines(tf2.characters[8:9], delete_original=True)