スクリプト作りに便利なエクステンション(ADOBEMAXJAPAN2018フォローアップ2)

今回の投稿はAdobe Max Japan2018にて私が担当したワークショップ「使わないと損をする! Illustrator & InDesignのScript活用講座 〜あれもこれも便利になります〜」のフォーローアップエントリー第2弾となります。

 

エクステンションについて

スクリプトの実行や開発等で使えるエクステンションがいくつかサードパーティーから公開されています。こういったものを利用するとスクリプトの実行だけでなく、スクリプトを少し改造したい場合などに各アプリケーションを離れずに手早く編集を行うことも可能となります。

 

標準的なエクステンションのインストール

基本的にはエクステンションの入手をAdobe Exchangeサイトより入手することができます。しかし、Adobe社の公式に掲載されないサードパーティー製のエクステンションにも便利なものが多々存在します。また、Adobe Exchangeポータルサイトを利用したインストールではトラブルが生じることも多々あります。
ここでは様々なケースでのエクステンションのインストール方法をお伝えします。

Adobe Exchangeポータルサイトからの入手

exchangeportalAdobe Exchangeからの入手の良い点は全てのエクステンションがAdobe社のスタッフの手による検証が行われている点です。セキュリティ上の問題や大きな不具合が無いという部分の検証がなされており、安心して導入できます。

Adobe Exchangeへアクセスする

Webブラウザーからhttps://www.adobeexchange.com/creativecloudへアクセスします。下に示すように各アプリケーションのメニュー「ウインドウ→Exchangeでエクステンションを検索」からアクセスすることも可能です。
残念ながら、現在Exchangeサイトは英語のみの対応となっています。英語が苦手な方はグーグルのトランスレートサービス等を利用して下さい。

searchadobeexchange

※MacintoshのSafariでAdobe Exchangeサイトを読み込むとページのリロードを繰り返して正常に表示されないケースが散見されます。このような症状が出る場合、Chrome等の他のWebブラウザにてお試し下さい。

エクステンションを探す

Exchangeサイトでのナビゲートは左のアプリケーションリストで対象アプリケーションの切り替え、右上のAll(全て)/paid(有料)/free(無料)の選択とソート方法の設定及び検索ボックスです。

searcextensions

 

ソートは最新がデフォルトで選択されています。これを「名前の順」「評価の高い順」「金額(昇順/降順)」「人気順」に変えることが可能です。

sort.png

各エクステンションのアイコンか名前をクリックすると詳細ページへジャンプします。

handleglue.png

上に挙げたエクステンションはshspageさんのエクステンションです。とても便利なエクステンションですからぜひお試しください。

右上にある青いボタン(Free)がインストールボタンになっています。

agreement

クリックするとライセンスについての同意を求められます。同意(Accept and Continue)をクリックするとダウンロード処理が始まります。処理が終わるとエクステンションページに青いバックのエクステンション取得に関するメッセージが表示されます。

acquired

通常、このメッセージが表示された時点でCreative Cloud Desktopアプリケーションによりダウンロードとインストールが終了しています。対象アプリケーションが立ち上がっている場合は終了し、起動します。

 

エクステンションが表示されない場合

もし、エクステンションがメニューに表示されない場合は手動でのインストール処理が可能です。
まず、ExchangeポータルのMy Exchange(https://www.adobeexchange.com/my-exchange.html?cloud=cc)へ移動します。

インストールされているエクステンションは右側のボタンが「uninstall」となっています。その下にInstall issues?のリンクが設置されています。

このページのリンクから当該エクステンションのインストーラーをダウンロードできます。
エクステンションのインストーラーファイルは拡張子がzxpとなっています。このファイルは通常CUIから操作するアプリケーションによってインストール作業を行う必要がありますが、今回はExchangeサイトでも紹介されているAnastasiy’s Extension Managerを利用してインストールする方法をご紹介します。

スクリーンショット 2018-11-27 8.06.17

こちらのサイトにアクセスしFree Downloadをクリックするとプラットフォーム選択までスクロールします。

スクリーンショット 2018-11-27 8.08.56

MacintoshかWindowsを選択してクリックするだけでダウンロードが始まります。
ダウンロードされたExtensionManager.zipを解凍し現れたアプリケーションをダブルクリックで起動します。

em0

開いたウインドウの左上のinstallをクリックしてダウンロードしたzxpファイルを選択します。

em1

管理者権限でのインストールになるためにこの様にユーザー認証が必要になります。
正常にインストール処理が終わった場合、メッセージが表示されウインドウにエクステンションがリストアップされます。ターゲットアプリケーションを起動または再起動してエクステンションメニューを確認して下さい。

 

エクステンションについて

エクステンションはデフォルトのパネルと同様に扱うことのできる非常に便利な機能拡張ですが、ネットワーク関連の機能などの実装も可能となっています。悪意のあるものがネットワークを介して情報を抜き出すような物も作ることができますので、エクステンションやプラグインと言った物に関してはAdobe Exchange以外のものでは、信頼できる製作者の手による物以外は導入に注意が必要です。
また、実装が複雑なエクステンションになるとエクステンション起動時のサイン検証が数分に及ぶこともあります。このような状態に関してはPlayerDebugModeと呼ばれる開発者向けのモードを設定する事ができます。これはサイン処理をバイパスする為エクステンションの起動が迅速に行われます。しかしながら、前述の通りセキュリティの問題があるため、信用できるデベロッパーのエクステンションのみを利用するようにして下さい。

 

PlayerDebugModeの設定方法

Macintoshの場合
ターミナル.appから以下のコマンドを実行します。(CC2018の場合)

defaults write ~/Library/Preferences/com.adobe.CSXS.8.plist PlayerDebugMode 1

 

Windowsの場合
コマンドプロンプトから以下のコマンドを実行します。(CC2018の場合)

reg add HKEY_CURRENT_USER\SOFTWARE\Adobe\CSXS.8 /t REG_SZ /v PlayerDebugMode /d 1 /f

 

CC2019の場合は上記の「CSXS.8」を「CSXS.9」に書き換えて実行します。
CC2017の場合は「CSXS.7」に書き換えて実行します。なお、動画関連アプリケーションへの対応が必要な場合は「CSXS.7」だけでなく「CSXS.6」に書き換えて再度実行して下さい。

スクリプト関連で有用なエクステンション

ここでスクリプトの運用や開発で重宝するエクステンションをご紹介いたします。

JSX Launcher
IllustratorやPhotoshop等で登録したスクリプトをワンクリックで実行可能なスクリプトランチャー
https://www.adobeexchange.com/creativecloud.details.12096.html

Property Explorer
選択したオブジェクトのスクリプトで利用するプロパティ等をリストアップするツール
https://www.adobeexchange.com/creativecloud.details.1170.html

Code Editor
Adobe Max Japan 2018のワークショップの参加者の皆様にお配りしたサンプルの「helperTools」フォルダにインストーラーを用意しています。Anastasiy’s Extension Managerを利用してインストールして下さい。
エディタの動作はvim仕様です。エクステンションを開くと通常モードで開かれますのでそのままでは入力できません。「aキー」を一回押すと挿入モードになり入力できるようになります。「escキー」を押すと通常モードに切り替わります。操作に関してはvimの操作について検索して下さい。
エクステンション上でスクリプトを入力し、即実行できます。簡単な処理を手早く行う際やちょっとした調査などで重宝します。
第2回の投稿も環境整備関連の情報をお届けしました。こういった情報は大切な事なのですが、短いワークショップの中で解説すると、この話だけでワークショップが終わりかねませんのでこのような形でお届けすることにしました。
次回はオブジェクトモデルに関してワークショップでご説明させていただいた事について少しだけ掘り下げたいと思います。

広告

[CEP] JSXファイルの動的読み込み

CEPエクステンションのデバッグにはCEF Clientを利用すると便利だという話は以前書きました。(https://forums.adobe.com/community/international_forums/japanese/automation/blog/2018/01/25/cefclientによるエクステンションのリモートデバッグ
このクライアントを利用すればCEP側のJavaScriptは実際にアプリケーション上で動作させ、適宜修正を加えながら再読込し動作を確認することが出来ます。しかし、この再読込出来るのはCEP側だけです。ExtendScript側は再読込することが出来ません。
日頃「アプリケーション側のロジックはエクステンションに組み込む前にESTK等を利用して完全にデバッグを済ませておく」という趣旨の事は口を酸っぱくして言い続けているわけで、わたしのブログをご覧になっている方々はきっと何度も目にしていることだと思います。しかしながら、ExtendScript側もデバッグ時に「あの部分をちょっとだけ変えてみたい…」といった事が少なからず起こってきます。そういった場合においても、いちいちアプリケーションから立ち上げ直すと言った作業を強いられながらデバッグを進めるというのも精神衛生上如何なものかとも思います。
今回はそういったケースでもExtendScript側のロジックを再読込出来る手法を解説します。

続きを読む

manifest.xmlの仕様についてxsdに記述されているREから解説を試みる

先日Adobe公式ユーザーフォーラムのブログにてmanifest.xmlをXSDファイルを利用して検証する方法を書いたのですが、それに関連してもうひとつ踏み込んだ事を書いておきます。
もう、そのまんまなのですが、manifest.xml用のXSDファイルにはValidater通す時のために正規表現による定義が施されているプロパティが幾つかあります。それらに関して仕様は英語でクソ丁寧に書かれていますが、空気を読まずに正規表現から読み解くなんて事をやります。

続きを読む