タグ:script 一覧
PhotoshopやIllustratorで特定のファイルやフォルダーが更新、追加されたら自動的に書き出し等を行うExtensionを開発します。Adobeのソフトを通じて何かのファイルをPDFやjpgを書き出すといった作業がいろんな分野で多いと思ってファイルの監視を発火イベントとして使用したいと思ったのが始まりです。 まずは手始めとしてPhotoshopによる自動jpeg書き出し機能を開発したいと思います。仕様としては。 最初に監視対象のフォルダーを選ぶ ボタンを押して監視をスタートさせる psd、tiffファイルが追加されたらPhotoshopで自動的にjpegに書き出す。 Nodeではデ
Read more
前回よりローカルのサーバーを通じてアプリ間の連携を紹介しましたが今回は応用編としてIllustrator内で配置、レイアウトした写真画像をPhotoshopで再度開いて編集、更新、その後Illustratorで再編集、PDF書き出しといったやりとりをNode.jsでやりたいと思います。Illustrator内に配置した写真画像の色調補正の再補正等、いちいちPhotoshopに戻って開いて、書き出し、再度Illustrator側で開くといった事が多いと思うのでこのあたりの作業を自動化させたいと思いました。特にDTPや印刷、出力の際にIllustratorデータをPDFやらpostscriptファ
Read more
前回Photoshopからサーバーを立ち上げて待ち受けの状態まで作ったのでさらに通信を受け取って受け取った内容を表示させたいと思います。具体的にはPOSTでサーバーにデーターを送信してデーターを受け取ったらjsxでデータの内容を表示させます。 POST送信でオブジェクトを受け取ったらjsxでオブジェクトの内容をjsx内のアラートで通知。POST送信はfetchで投げれば簡単にできます。 決して難しくはないコードですが一連のやりとりは勿論非同期で行われる事、IllustratorやPhotoshopといった異なるアプリ間でコードを書かないといけない上、さらにjsxともやりとりしないといけないので
Read more
Adobe scriptにBridge talkというものがあって、Bridgeを通じてAdobeのアプリをscriptで連携して動かすという優れものです。これを使ってPhotoshopで画像を編集してその後の処理をIllustratorに渡すという事が可能になるのですが私が何回か使用した経験ですとこれが中々安定しなくてBridgeにデータを送った段階で止まったりした事が多かったので結局使わずじまいで終わりました。しかし最近Illustratorを使う頻度が多くなったのでやはりPhotoshopと連携させたい、という事でもっと安定してアプリ間の連携ができないとかと思ったところExtension
Read more
DTP業務向けにIllustrator scriptの開発も始めました。 Extension含めて印刷物データの効率的なデータ処理のために開発していこうかと思います。現在某古籏氏の本を参考にせっせと開発している途中です。第一回目はリンク画像を置き換える簡単なscriptから。 アートボードに配置した古い写真画像をPhotoshop等で編集した新しい画像に置き換える場合にいちいち手作業で全て置き換えると時間がかかるので古い写真画像と新しい写真画像のファイルパスを参照して置き換える処理をやりたいと思います。 リンク画像の情報はactiveDocument.placedItemsにar
Read more
今回はロード画面をエクステンション上に作ります。エクステンションの場合進捗の割合を表示できませんがcssやjavascriptで自在にロード画面を作成できるので自由度が高いです。まずはロード画面のcssとhtmlから websiteを作る場合と同じ要領でhtmlの一番上の要素にロード画面のレイヤーを載せて通常は非表示。jsxの処理が動いている時にロード画面のhtmlを表示させます。cssはアニメーションで円が三つバウンドするよくあるロード画面です。 作成したロード画面。jsxの処理が開始される時にこのロード画面のdisplayをcssでblockにします。その後jsxの処理が終わった時にロード
Read more
前回よりjsxでのGUIの作り方からプログレスバーの作り方を載せていきます。 jsxの進捗率をリアルタイムで監視するためにはjsxでGUI上にプログレスバーを表示させて処理が終わるまで更新させていきます。まずプログレスバーを表示させる方法は簡単で前回のようにダイアログのオブジェクトにプロパティーで追加します。 プログレスバーの引数は第一引数からprogressbar(ダイアログのパーツの種類)、バーの大きさ、バーの初期値の値、バーの最大値の値になっています。バーの初期値が0の場合真っ黒なバーが画面に表示されます。それでjsxの進捗をバーに反映させる方法ですがプログレスバーのプロパティーに値を代
Read more
html,cssを駆使してExtensionでscriptのインターインターフェイスを作成できますが実はjsxだけでもユーザーインターフェイス作成できます。まずダイアログの作成ですが。 ウインドウ、コンストラクトから引数にdialogでウインドウ(ダイアログ)を作成する事を指示。第二引数にダイアログの名前。第三引数はダイアログの大きさを配列形式で指定。各配列は[右,上,左,下] と角ダイアログの座標に対応しています。詳しくは古籏氏のサイトを参照するといいかと思います。(かなり詳しく載っています) さらに細かいパーツを追加する場合このウインドウオブジェクトから作成したインスタンスにプロパティーを
Read more
Adobeから無料で配布されているScriptingListenerはPhotoshop上で操作したユーザーの動作を記録してscriptとしてテキストに書き出してくれる。一部のスクリプト開発者の間では有名だがインストールの方法と一部詳細をここに記載する。 プラグインの場所 こちらのAdobeのサイトからダウンロードできる。ScriptingListener プラグインのwin用かmac用のプラグインをダウンロード、解凍したファイルの保存先はAdobeのサイトに記載してある場所に保存。再度Photoshopを立ち上げるとファイル->スクリプトメニューにScriptingListener O
Read more
エクセルの表がどのように読み込まれるか図を上げ直しました。読み込まれた際にはオブジェクト形式でA1,A2,A3,A4….A列の次はそのままB1,B2B3….と各セルがそのまま連続して読み込まれます。これを前回A列、B列と縦列毎に分けました。 以降B,C,Dといった各列のデータ 前回オブジェクトデータの中にMapデータとして各列を整理しました。 因みにAの次にIになっているのはそもそもオブジェクトのプロパティの列挙順が保証されていないためアルファベット順に列挙されたりするわけではないからです。配列のようにsortメソッドも存在しないのでこの辺の処理を気をつけなければなりま
Read more