【Illustrator】Pythonで操作してみよう

戦国時代で絵の上手い武将と言うと伊達政宗。海外の画風を取り入れた作品を描いていました。
どうも、クリーク・アンド・リバー社 COYOTE 3DCG STUDIO テクニカルチーム所属、戦国大好き人間の中林です。

今回の記事内容はWindows専用になります。

なぜIllustratorをPythonで操作したのか

今回はとある伝手からIllustratorのツールを弊チームで開発することになりました。
依頼内容で最も重視したのはIllustratorを起動していなくても、複数ファイルを処理して欲しいでした。
Illustratorを起動後の処理ならUXPを使うのですが、起動前からの処理なら使い慣れたPythonで作ることにしました。
弊チームではIllustratorをPythonで操作する経験はこれまでなかったけど、同じAdobe製品のPhotoshopを操作した経験がありました。

COYOTE流テクニカルTIPS TIPS 07:【Photoshop】PythonによるPhotoshop操作

こちらの経験を元にPythonで外部からIllustratorを動かすことに挑戦をしました。

win32Com(pywin32)をインストールしよう

win32comに関しては今回Python3.13で試したところpipで簡単にインストールができました。
コマンドプロンプトから以下のコマンドで簡単にインストールできます。
pywin32の中にwin32comが含まれています。

pip install pywin32  


ちなみに僕のwin32comに関しての知識はPhotoshopツールの頃から変わっていません(苦笑)

簡単に画像の名前を取得してみよう

import win32com.client
from tkinter import messagebox
app = win32com.client.Dispatch("Illustrator.Application")
doc = app.ActiveDocument
messagebox.showinfo("ファイル名", doc.Name)

こちらは最小限のコマンドです。
Dispatchは普段使いのIllastratorが起動していなければ自動で起動します。
普段使いのIllastratorはAiファイルをダブルクリックしたときに起動するバージョンのことです。
Photoshopと違い複数起動できるからと言うわけでありませんが、起動しているIllastratorのバージョンを取得して操作することは難しいです。

基本的なコマンドはVBS準拠

win32comで使うコマンドはVBSコマンド準拠ですのです。
コマンドによっては先頭の文字を大文字にしないと動かないものもあるので、大文字にするようにしてください。
現状のIllustrator Scripting Guideはこちらにあります。
コマンドを調べる手段のひとつとして参考にしてください。

VBSコマンドリファレンス

Pythonを使うメリット

個人的に大きいのは最も使い慣れた言語だからです。
特にfor文はPythonで書き慣れるとAdobe製品のJSXで使う昔ながらの書きづらいです。
正直、list[i]の書き方は面倒でできれば使いたくないです。
他に大きなメリットはQTデザイナーを通じてPysideでUIを作れるメリットは大きいです。
簡単にUIのひな形を作れるし、クライアントの要望に合わせた修正も簡単です。
DCCツールを選ばずに作れるメリットはとても大きいです。

どうしてもPythonではなくJavaScriptを使う場合

今回のIllustratorのスクリプトでは保存ぐらいしか使わなかったけど、VBAコマンドでは上手くいかない処理がありました。
そんな時はDoJavaScriptで実行することができます。

_com =  'command1;'
_com += 'command2;'
_com += 'command3;'
app.DoJavaScript(_com)

複数行でも一気に処理をすることができます。

まとめ

今回は依頼は最初にWindows限定と決まっていたので、本来のUXPとは違う方法を取りました。
機会があるなら、いつかは正攻法でのUXPのツールにも挑戦をしたいと考えています。
ただ、Pythonも広い範囲で使えるので目的に合わせて使い分けるのが良いでしょう。

nakabayashi nobukazu

12月11日(木)のTA Nightというイベントで登壇予定。
TAの歴史と未来について話します。
https://www.creativevillage.ne.jp/category/crv_event/168205/
ブログでTAに興味を持った人は是非、参加してみてください。

投稿者記事

  1. 【Maya】品質を保証するチェックツール

    2025-12-23

  2. 【命名規則】いつ決める、誰が決める

    2025-11-25

  3. 【Character】ほんとに怖いジョイントのお話【序章・命名編】

    2025-03-25

  4. 【Maya】超初心者向けスクリプトファイルの
    入れる場所、実行の方法

    2024-12-03

関連記事

  1. 【Maya】MELだけでクォータニオンを簡単に使う方法

    2019-07-23

  2. 【命名規則】いつ決める、誰が決める

    2025-11-25

  3. 専用ツール VS 汎用ツール

    2020-04-21

  4. 【SVN】『SVNのクリーンアップできない』で良くあること

    2019-09-17

スキルレーダーチャート

テクニカルアーティスト専用
スキルレーダーチャート
どなたでも無料でご利用いただけます。

ABOUT

TECH COYOTE​

テクニカルアーティストのためのまとめサイトです。​
本サイトでは、ツール開発、業務効率化等について情報発信をしていきます。

COYOTE 3DCG STUDIO

C&R Creative Studios

難易度別

RECENT TWEET

ページ上部へ戻る