タグ:Node 一覧

NodeJsでAdobeのアプリを連携させる

Adobe scriptにBridge talkというものがあって、Bridgeを通じてAdobeのアプリをscriptで連携して動かすという優れものです。これを使ってPhotoshopで画像を編集してその後の処理をIllustratorに渡すという事が可能になるのですが私が何回か使用した経験ですとこれが中々安定しなくてBridgeにデータを送った段階で止まったりした事が多かったので結局使わずじまいで終わりました。しかし最近Illustratorを使う頻度が多くなったのでやはりPhotoshopと連携させたい、という事でもっと安定してアプリ間の連携ができないとかと思ったところExtension

Read more

Photoshop Extensionの開発30 エクステンションでエクセルデータを表示させる

エクセルの表がどのように読み込まれるか図を上げ直しました。読み込まれた際にはオブジェクト形式でA1,A2,A3,A4….A列の次はそのままB1,B2B3….と各セルがそのまま連続して読み込まれます。これを前回A列、B列と縦列毎に分けました。 以降B,C,Dといった各列のデータ 前回オブジェクトデータの中にMapデータとして各列を整理しました。 因みにAの次にIになっているのはそもそもオブジェクトのプロパティの列挙順が保証されていないためアルファベット順に列挙されたりするわけではないからです。配列のようにsortメソッドも存在しないのでこの辺の処理を気をつけなければなりま

Read more

Photoshop Extensionの開発29 エクステンションでエクセルデータを読み込む

エクセルの表と照らし合わせながらAdobeのソフトでレイアウトを決めたりデザインする作業というのも世の中沢山あるかと思います。というわけで今回はxlsデータをExtensionで読み込んでパネル上に表示させたいと思います。 今回xlsデータの読み込みのためにxlsxモジュールをNodeから使用することにしました。という事でまずはインストール。 インストールしましたらCEPの環境もNode.jsが使用できるようにmanifest.xml等の調整もします。 また今回サンプルのエクセルデータとしてこちらのページから第3章の国民経済計算のエクセルデータを使用しました。 まずはxlsxを読み込みましょう

Read more

Photoshop Extensionの開発26 フォルダー内のファイルを取得する

大量のデータを処理する時に必ず直面するのがフォルダー内のファイルをサブフォルダーまで遡って全て取得する方法である。今回再帰的にファイルを取得する方法をパネル側、jsx側の両方で解説する。パネル側の方はNode jsのネイティブモジュールを使用する事で簡単にファイル情報を取得できる。 おおよそよくある再帰的処理なのですが解説。まずウインドウダイアログから該当のフォルダーを選択。事前にファイルリスト用の空の配列を作成。再帰的にフォルダーからファイルを取得関数に事前にウインドウから取得したフルパスを指定(f.data[0]となっているのはウインドウから取得したデータオブジェクト型でdataプロパティ

Read more

Photoshop Extensionの開発17 画像データの取得

Extensionのパネル自体クロームベースであるためブラウザ同様Imageオブジェクトから画像サイズを取得できる事は前回述べたができる事がかなり限られてしまう。しかしCEP側からはNode.jsモジュールが使用できるので何かしらモジュールを使用すればパネル上で画像データの取得ができる。という事今回はNodeモジュールの使用方法も含めて画像データを取得方法を記載する。まずこちらで画像サイズを取得するimage-sizeというモジュールが公開されている。PSDも含めた幅広い拡張子に対応しているそうなので今回はこれを使ってみよう。 というわけでまずはpackage.jsonの作成。  

Read more

Photoshop Extensionの開発16 画像データの読み込み(CEPから)

今回はCEP(エクステンション)から画像データ情報の読み込みをします。理由がない限りは実はPhotoshopから画像データの情報を読み込んだ方が豊富なオブジェクトとメソッドが用意されているので簡単に細く取得できるがPhotoshopの場合一度ファイルを開かないと取得できないためパネル上に事前に表示させたい場合はやはりCEP側から取得できればいい。例えばPhotoshop処理の前にCEP側で画像の詳細を一覧でユーザー側が確認してからPhotoshopに処理をさせるアプリを開発する事などよくあるだろう。それを一々Photoshopで開いてからデータを確認するなど処理が重くなる。(Photoshop

Read more

Photoshop Extensionの開発15 ファイルデータの読み込み

ファイル選択後に各種ファイルのパス、拡張子といったデータを読み込みたいと思う事があるだろう。前回のウインドウやドラッグアンドドロップといった方法でパスデータを読み込む事が出来たが細かいデータは最初から用意されていない。Photoshopの処理に移る前にCEP(パネル側)で読み込みたい時が頻繁にあると思う。これらはNode.jsのネイティブモジュールを使えば簡単に読み込める。 各種、ファイル情報に対応したメソッドが用意されているがまとめて読み込みたい場合はparseでオブジェクトとしてまとめて取得出来る。 折角Extensionでファイル操作をするのだからパネル側で事前に操作できるとできる事に幅

Read more

Photoshop Extensionの開発6 トランスパイル編

今回はトランスパイルやら何やらの環境構築をしたいと思います。前述の通りCC2017ですらECMA2015もまともに動かないのでAdd on等で公開する事を前提に開発する私としてはトランスパイル自体必須の作業です。 ここの階層にmoduleなんかを設置していきます。というわけでまずはpackage.jsonを作成 トランスパイラですが私はいつもwebpackで環境構築しています。babelのついでにCSS向けのベンダープレフィックス対策やsassの使用環境構築なんかもしてゆきます。このあたりの環境構築に関しましてはicsさんの記事を参考にしました。 babelのインストール。 sass load

Read more