Just Diary

Follow me

タグ:filesystem 一覧

Node jsのwatch機能でIllustratorに配置された画像を監視する

ご存知の通りポスターやディスプレイの作成なんかはIllustratorで版下を作成する事が多いです。しかし写真の画像をIllustratorで配置して出力する場合はプリンターにデータを送るためにPDFやpostscriptファイルに変換してプリンターに送るのですが写真の画像の色補正をPhotoshopで行なった後に一々Illustratorで開いて出力するというこのためだけにIllustratorを立ち上げることが多いです。このIllustratorで開いて出力という面倒くさい作業を自動化するために配置画像をNodeで監視して更新されたら自動的にIllustratorがPDFで書き出すExte

Read more

Node jsのWatch機能で自動的にPhotoshopでjpgイメージを書き出す。

PhotoshopやIllustratorで特定のファイルやフォルダーが更新、追加されたら自動的に書き出し等を行うExtensionを開発します。Adobeのソフトを通じて何かのファイルをPDFやjpgを書き出すといった作業がいろんな分野で多いと思ってファイルの監視を発火イベントとして使用したいと思ったのが始まりです。 まずは手始めとしてPhotoshopによる自動jpeg書き出し機能を開発したいと思います。仕様としては。 最初に監視対象のフォルダーを選ぶ ボタンを押して監視をスタートさせる psd、tiffファイルが追加されたらPhotoshopで自動的にjpegに書き出す。 Nodeではデ

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の開発27 フォルダー内のファイルをJSXから取得する

今回はjsx側からファイルを再帰的に取得したいと思います。基本的なやり方はパネル側と変わりませんが仕様がいろいろ違ってややこしいとは思います。 まずパネル側がecma2015だったのに対してこちらはecma3なので大分古臭く見えると思います。(wwww まずウインドウダイアログですがjsxですとFolder.selectDialogで呼び出して変数に選択したフォルダーのパスを代入できます。 この後にこのパスを元にファイルリストを取得してゆきます。ファイル取得関数はjsxですとフォルダーオブジェクトに専用のgetFilesメソッドが用意されているのでフォルダーパスを元にgetFilesメソッドで

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の開発14 ドラッグアンドドロップ

Extensionの自作において重要なローカルファイルとのやりとりにおいてもう一つ、ドラッグアンドドロップについて取り上げる。ブラウザと同じようにパネル上にもイベントの登録ができる。但し一般的なブラウザと同じようにデフォルトでwindowオブジェクト自体にドロップイベントが組み込まれていて不便なのでまずはこのデフォルトのイベントの伝播をキャンセル必要させよう。 prevent_draganddrop.js このwindowのデフォルトのドロップイベントのキャンセル関数は基本的にドラッグアンドドロップ機能を載せる、載せないに関わらず呼び出した方が良い。通常のwebブラウザと違ってPhotosho

Read more

最近のコメント

コメントなし
Other link

最近のコメント

コメントなし Close