Photoshop,IllustratorのExtendScriptオブジェクトモデルの参照
かなり久しぶりにExtendScript初心者向けの記事を書きます。
結構ExtendScriptを書く際に参照するオブジェクトモデルですが困ることが多いです。というのも以前はExtendToolKitで参照できたのですがもはや開発終了、Mac上ではcatalina以降使用すらできない、そして公式ではドキュメントが配れてはいるのですがPDFでこれが分かりづらい。という事で公式PDF以外のオブジェクトモデルの参照について触れます。
その前にオブジェクトモデルとは
詳細は省きますがExtendScriptのAPIはwebのDOM同様オブジェクトの中にオブジェクトが入ってそれを辿っていく事でアプリケーションの詳細な情報まで取得できるものです。
*例レイヤーのオブジェクトを辿る場合。(app -> app.activeDocument -> activeLayer -> layer.name…etc)*
基本として特定のオブジェクトの中身を調べる場合以下のようにfor inで探ります。
*try,catchで囲っているのは一部プロパティは取得の際、エラーがでて止まってしまうのでそれを防止させるためです。
app.activeDocumentを関数に渡すとPhotoshopでもIllustratorでもアクティブなドキュメントのプロパティを取得します。このような感じでオブジェクトの中身を探ってゆくとscriptでできることがおおよそ把握できるというわけです。以下よりその参照を助けてくれるサイト、Extensionの紹介です。
Illustrator script reference
外国のユーザー達によってGitHubで編集されているscript referenceです。Illustratorのリファレンスとその他AfterEffects等もあるようです。ほとんど公式の内容をGitHubでまとめたような内容になっていますが公式のPDFよりも見やすいので普段私はこっちを参照しています。
Photoshop script reference
前述のIllustratorのリファレンスと似たような感じのPhotoshopのリファレンスです。こちらに関してはCEPの細い情報も載っているのでmanifest, csinterface関連の情報で困った時も役に立ちます。Special ThanksにDavide Baranca氏の名前が。
日本語の情報
もはや言わずと知れた古籏氏のサイトに日本語でまとめられています。IllustratorとPhotoshopとinDesignその他サンプルのコードもたくさんあります。
Property Explorer
Adobe ExtensionのProperty Explorer でアプリケーション上でオブジェクトプロパティを調べられる開発者にとって必須なTen氏によるExtensionです。Illustratorだったら選択しているアイテムのオブジェクト情報、もしくはテキストフォームに調べたいオブジェクトを入力する事でプロパティが取得できます。Method listにチェックを入れるとメソッドのリストも取得できます。Illustrator,Photoshop以外のAfterEffectsやPremiereアプリケーションにも対応しているみたいです。詳細、ダウンロードはAdobe Exchangeの該当のページへ