タグ:Node 一覧

Extension Watch Placed Image ver2.0

前回開発したExtensionWatch Placed Imageを大幅にアップデートしました。 概要 Illustratorのドキュメントに配置された画像をNode.jsで監視して、更新されたら自動的にドキュメントを開いて保存するというものです。ポスターなんかで画像の色補正をしている時にテストプリントの度に補正->pdf保存->出力 補正->pdf保存->出力と繰り返すのが面倒だと思ってこの一連の作業を自動化するために開発しました。 使い方 前回同様保存対象のドキュメントと監視対象の画像を選ぶわけですが今回ドキュメントを読み込むとそのままドキュメント上に配置された画像を読み込みます。ドキュメ

Read more

Photoshop UXP上ではNode.jsは動かない。

振り返ったらPhotoshop UXPとNode.jsについてまとまった記事を書いていない事に気づいたので書くことにしました。まあ結論から言うとUXP上でNode.jsは使えないです。しかし下記のコードを見ると誰しもがNode.jsベースで動いたコードと思ってしまうとは思います。 requireでPhotoshopモジュールを呼び出してPhotoshop関係のメソッドを実行しています。見た目そのままNode.jsではありますがそれでは以下はどうでしょうか。 結果は以下。 pathモジュールもfsモジュールも一見使えそうではあります。そのpathモジュールのメソッド、例えばextnameやdir

Read more

Adobe Creative Cloud Libraries APIの中身(ログインとライラブラリー一覧取得)

何度か記事を載せてきたCreative Cloud Librariesですが今回具体的にどのように動いているか触れたいと思います。 そもそも何ができるのか サーバーサイドのコードからCreative Cloud Librariesのクラウドのドキュメントにアクセスできます。具体的にはクラウド上のドキュメンをダウンロードしたり逆に画像データのアップデート、ドキュメントの検索等。従来のExtendScript、もしくはUXP、CEPではCreative Cloud Librariesのクラウドにアクセスする方法自体ありませんでしたがこのAPIでAdobeのサーバーにアクセスすればクラウド上に保存さ

Read more

Adobe Creative Libraries APIにReact(Next.js)上でアクセスする。

前回の記事で取り上げましたAdobe Creative Libraries APIへのアクセスですが前回はサンプルのコードをそのまま動かしただけでした。サンプルコードではejsでHTMLの生成を行なっていましたがejs自体自分が慣れなてないのとやはりクライアントサイドはReactで構築したいということで試行錯誤してやってみました。自力でサーバーサイドレンダリングの環境を構築とかも考えたのですが色々難しそうなので結局Next.jsを使用。なお今回とりあえずAdobe Creative Libraries APIにアクセスするReactの環境を作ることが目的なのでReactやNext.jsの基本の

Read more

Adobe CCLibraries API クラウドにアクセスする

*2022年 1月 11日developer consoleのredirect URIフォームでエラーが出た場合の対処方法を追記 Adobeのソフトウェアにクラウドの環境が用意されてから既に結構時間も経ちました。ドキュメントを保存する時もローカルかクラウドか求められて段々Adobeも押してる感があります。実はExtendScriptでもいつの間にかクラウド関係のプロパティーがドキュメントオブジェクトに追加されていたりします。以下Illustratorの例です。 一応クラウド上のパスも取得できるのですがサーバーに実際にアクセスできる訳ではないようです。Creative Cloud Librari

Read more

Photoshop UXPからExtendScriptを無理矢理実行する

Photoshop UXPが導入されて巷ではどちらかというと今までCEPやExtendScriptで出来たことが出来なくなって悲鳴の方が大きい気がします。なのでUXPで出来ない事(ダイアログを呼び出さずにファイルを指定のパスに保存、特定のファイルを開く等)をやるためにどうにかExtendScriptを実行できないかみたいな話題も出てきています。そして結論から言うと通常の機能ではできません。そして今回それを無理矢理やろうという話です。 *5月31日storageに関する記述を修正。secureStorageは今回使用する必要がありませんでした。 そもそもUXPで出来ない事とは あまり公式ドキュメ

Read more

Promiseによる非同期処理のキャンセル機能を実装する

今後UXPの実装が進むとAdobe用のscriptの開発でこれまで以上に非同期処理が重要になるでしょう。もちろん非同期処理自体もはや当たり前のように使われていますが意外にキャンセルボタンの実装をしようと思ったかなりややこしかったのでまとめることにしました。なお、実装にあたってはこちらの記事を参考にしました。キャンセル可能でPromiseなsetTimeout()を作る 最初にPromise関数の実装にあたってPromiseの状態をオブジェクトで管理して一度resolve,rejectの結果を投げるメソッドをプロパティーに代入するという形をとっています。キャンセルボタンされない場合そのまま非同期

Read more

配置画像の差異を検知する Illustrator Extensionのプロトタイプ ItemInspector

Illustratorで画像を写真画像なりその他の素材を配置することはよくあることだと思います。そしてフォルダーを別の場所に移動させると配置した画像ががいつの間に似たような画像に置き換わったりすることも誰しもが経験することでしょう。Illustratorは配置された画像をaiファイルから見て配置データを相対パスで取得して管理しているのでしょうがこれがたまに上手くいかず同じ名前のファイルの別のディレクトリーに保存されているファイルを読み込んだりします。今回前回の保存ファイルのパスと更新日付をjsonファイルに保存して再度aiファイルを開いた時に前回更新時のデータを比較して前回の状態と新しい状態で

Read more

ファイル操作からエクセル操作までjsでゴリ押しするためのElectron

Adobe scriptを書く方にとってはもはや当たり前となりつつあるJavascript。しかしAdobe周辺の作業に関わらずPC周りのあらゆる作業を自動で捌きたいと思った方も多いと思います。でも別言語はよくわからない、PowerShell?WSH?VBA何それ?Apple script?それ食えるの?という方にぴったりのネイティブアプリの開発方法、フレームワークがあります。Electronです。 Electron Electronとはhtml,cssでUI周りを作って内部の動きjsで作れるフレームワークです。つまりweb siteを作る技術でそのままアプリが作れる代物です。Adobe CE

Read more

初心者、これからモダンなjsをやりたい人向けNode.jsで始めるJavaScript

javascriptというかプログラミングを始める上で最初の壁がどうやって始めるのか。言語によっては仮想環境とか色々ややこしかったりします。その点javascriptは簡単に始めることのできる部類だとは思いますがそれでもブラウザ上で動かす大元のjavascriptはhtmlがなければ全く動きません。勿論javascriptを動かすだけの簡単なhtmlファイルを用意するくらい特別難しいわけでもないですが毎回用意するのは面倒でしょう。Adobe scriptならExtendScript ToolkitというAdobe script用のお手軽なエディターもありますがMacだとcatalina以降の環

Read more