DTPab

印刷やデザイン、アドビ製アプリやスクリプトなど、雑多な技術ブログ

DTPerのスクリプトもくもく会#34を開催しました

DTPerのスクリプトもくもく会#34を開催しました。

DTPerのスクリプトもくもく会 #34 - オンライン - connpass

今回はお二人の方と、かなりまったりやりました。
特に質問らしいものもなかったので、自分の作業が大変はかどりました!
そんなわけで開催報告も普段よりシンプルになっちゃいますが、当日の振り返りです。

pageItemの理解(Illustrator)

参加者の方がIllustratorのスクリプトについて学習中だったのですが、Document.pageItemsプロパティにはグループ化されたその中のそれぞれのオブジェクトも格納されている!と。
ただ、それが便利な半面、気をつけるポイントでもあるというアドバイスをしました。
例えばA・Bという2つのオブジェクトをグループ化したCというオブジェクトがあったとして、Document.pageItemsを対象にfor文を回すと、A・B・Cのすべてがfor文に列挙されます。
移動やリサイズしたいとき、安直にDocument.pageItemsプロパティを対象にしてしまうと、処理が二重にかかってしまう恐れがあるのです。

ライブプリフライトの終了タイミング(InDesign)

こちらはInDesignの話で、InDesignのプリフライトをスクリプトから実行する際、プリフライトの結果がスクリプトとは非同期であると。
これは非常に悩ましい話で、プリフライトを実行するスクリプトは作れても、いつプリフライトが終わったかが分からない*1から、結果を受け取る別の窓口が必要かもしれない、という話。
結果を受け取るためにアイドルタスクを使うのかとか、実装面で非常に悩ましいところでした。
結果はいずれブログに書いてくださるとのことだったので、ブログが待ち遠しいです。

自分は何してたの?

5/20から始まる技術書典で頒布する同人誌の原稿を書いておりました!!!!
全然間に合わなそうなんですが、ESTKからVS Codeに乗り換えようという同人誌の改訂版です。
がんばって書いているので*2みんな買ってくれよな…!

*1:分からなくはないんだけど、プリフライトが終わってから次の処理を行うまで、プリフライトが終わったかどうかの判別のために一度スクリプトを終わらせないといけないかもしれない

*2:マジで本当にがんばっている