====== Adobe ExtendScript ======
このページでは、Adobe ExtendScriptについての情報を掲載します。
Adobe ExtendScriptは、Adobe [[adobe:adobe_photoshop]]をはじめとしたAdobe製品上で実行できるJavascriptベースのスクリプトです。ソフトウェアの自動操作、アクションでは難しい複雑な処理を実行できます。
* [[http://www.adobe.com/jp/products/extendscript-toolkit.html|Javascript開発キット]]
* [[http://www.kahrel.plus.com/indesign/scriptui.html]] スクリプトUIリファレンス
* [[http://www.davidebarranca.com/2016/03/adobe-photoshop-html-panels-development-course-released/|The Adobe Photoshop HTML Panels Development Course]]: Adobe Photoshop CC 以降のパネル作成解説の電子書籍。
*[[http://blogs.adobe.com/jnack/2013/09/build-html5-based-extension-for-photoshop-more.html|Build HTML5-based extensions for Photoshop, more]]
==== ESTKについて ====
ExtendScritp ToolKitは、Adobe ExtendScript用に用意されているエディタです。
=== ESTKのショートカットキー ===
^ ^ ^
|F5|スクリプトの実行|
|Ctrl + D|選択行の複製|
|Ctrl + F|文字列の置換と検索|
|Ctrl + L|選択行の削除|
|Ctrl + Shift + K|選択行のコメント化とコメント化解除|
==== XMPの操作 ====
XMPにアクセスするには、XMPライブラリをExtendScriptで読み込む。ライブラリ読み込み後は、XMPMetaオブジェクトとXMPFileオブジェクトのネームスペースが利用できる。
//load XMP Library
var XMPload = Boolean(false);
if (ExternalObject.AdobeXMPScript == undefined){
try {ExternalObject.AdobeXMPScript = new ExternalObject('lib:AdobeXMPScript'); XMPload = true;}
catch(ex) {alert("Unable to load the AdobeXMPScript library!");}
}
if(XMPload){
var myFile = File(app.selection[0].graphics[0].itemLink.filePath);
xmpFile = new XMPFile(myFile.fsName, XMPConst.UNKNOWN, XMPConst.OPEN_FOR_READ);
xmp = xmpFile.getXMP();
var myXmp = xmp.serialize();
xmpFile.closeFile(XMPConst.CLOSE_UPDATE_SAFELY);
}
===== Script UI作成 =====
* [[http://scriptui.com/|Rapid ScriptUI]]: 開発、サポート終了。UI作成支援ソフトウェア。開発は終了しているが、Pro版(有償)の購入は2017年6月現在もする事ができる。
* [[http://dvb.omino.com/src/adobe_scripts/omino_adobe_script_suite/src/shared/ominoDialogMaker.jsx|ominoDialogMaker.jsx]]: 高機能なUIを簡単に構築する為のライブラリ。