Photoshopの自動処理(2)

PSDファイルから原画体裁のTIFFファイルを書き出すスクリプトは前回に方針が定まったので、あとはスクリプトを書いて動かすだけです。

 

TIFFファイルを書き出すには、ファイルとフォルダの扱いが不可欠です。新規でTIFFファイルを書き出すには、少なくとも、書き出す場所=フォルダ階層と、ファイル名が必要です。

 

しかし、ファイルを書き出すパス‥‥といっても、一筋縄ではいきません。

 

業務上のワークフローのオンラインで扱うファイルに、日本語を使うつもりはないですが、やはり日本国内で制作しているのですから、日本語を使うファイル名が存在しても、正常に処理できたほうが良いです。

 

AdobeのJavaScriptで扱うファイルやフォルダは、パスに日本語が含まれていると、てきめんに文字が化けます。ゆえに「fsName」や「File.decode()」が用意され、文字化けを正常な日本語に戻すことが可能です。

 

例えば、現在Photoshopで開いているドキュメントのパスを取得しようとして、

 

var doc=app.activeDocument;
doc.fullName;

 

‥‥みたいな単純な書き方ですと、もしファイルパスに日本語が含まれていると、それはもう、悲惨な文字列に。

 

/Users/Shared/%E3%81%A8%E3%81%82%E3%82%8B%E3%83%95%E3%82%A9%E3%83%AB

%E3%82%BF%E3%82%99/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3

%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88.png

 

 

まあ、わざと日本語をたくさん入れて化けさせてはいますが、以下のようにコードを書き足すだけで、

 

var doc=app.activeDocument;
doc.fullName.fsName;

 

正常な日本語の文字列を得る事ができます。

 

/Users/Shared/とあるフォルダ/スクリーンショット.png

 

 

名前だけが欲しければ、"/"でsplitして最後の要素だけを取り出しても良いですし(macOSの場合)、以下のように、

 

var doc=app.activeDocument;

File.decode(doc.fullName.name);

 

‥‥でも取り出せます。結果は、「スクリーンショット.png」です。もちろん、

 

var doc=app.activeDocument;

doc.name;

 

‥‥でも良いです。注目すべきは、Fileオブジェクトから名前を取得する場合はデコード「File.decode()」が必要で、開いているドキュメント名から取得する場合は単に「Document.name」で文字化けしない点です。

 

ここらへんの段取りの「クセ」を知っておかないと、Photoshop&JavaScriptではファイルを書きだすことができないんですよネ。

 

ちなみに、このあたりのことは、「ADOBE PHOTOSHOP JAVASCRIPT SCRIPTING REFERENCE 」には載ってなくて、別冊の「JAVASCRIPT TOOLS GUIDE」の中に掲載されています。ESTKのフォルダの中にPDFがあるので、それを読むべし。

 

 

ファイルを書き出す‥‥と言っても、まだ考えどころは残されています。

 

  • どこに書き出すのか。=ユーザに尋ねるか、PSD元データと同階層にするか。
  • フォルダにまとめるか。=まとめるのは良いとして、どんな名前のフォルダにするか。
  • 書き出し先に同名の項目があった場合はどうするか。=既存の項目をリネームするか、新作の項目に番号をつけるか、それとも削除するか、上書きするか

 

Photoshopの自動処理自体は、そんなに大した内容ではないですが、こうした足回りの処理は地味に面倒です。でも、これを嫌がると、エラーで止まってばかりのスクリプトになってしまいます。どんなにPhotoshop部分のスクリプトが快調に動作しても、ファイル書き出しで躓けば意味がありません。

 

 

こうしたスクリプト作成の手間を事前に割いて、自動処理をスタンバイしておけば、その後の作業で確実に時間短縮と労力削減が実現します。

 

急がば回れ‥‥です。

 

あと、もう少しで完成して、明日ぐらいから使えそうな予感。

 

 

 

 



calendar

S M T W T F S
 123456
78910111213
14151617181920
21222324252627
28293031   
<< October 2018 >>

selected entries

categories

archives

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM