Adobe Photoshop CC 2014自動化作戦

このページはAdobe Systems(アドビシステムズ)社のPhotoshop CC 2014をJavaScriptによって自動化運用するためのサンプルスクリプトを掲載しています。サンプルは(Mac) OS X (10.9)上で動作させたものです、このため、Mac OS Xの他のバージョンやWindows上での動作とは異なる可能性があります。
Photoshop CC 2014は基本的には以前のCS1〜CCの延長上にあります。このため、JavaScriptのコアオブジェクト、Adobeファイルオブジェクトに関しては他のAdobeソフトと同じです。つまりInDesign CS〜CC 2014、AfterEffects 6.5〜CC 2014、Illustrator CS2〜CC 2014、Bridge 1〜CCで作成された一部のコードは、そのまま動かす事ができます(DreamweaverやFireworksは駄目)。Photoshop CC 2014独自部分の機能だけを習得すれば良いと言うメリットもあります。スクリプトの作成にはESTK (Extend Script ToolKit) CCを使うとよいでしょう。入力補完機能やデバッグ機能、処理速度を計測するプロファイリング機能などがあります。なお、2014年9月1日現在ESTK CC 2014は存在しませんが、ESTK CCからPhotoshop CC 2014を実行ターゲットとして選択することでJavaScriptを動作させることができます。
掲載されているサンプルスクリプトで特に断り書きがない場合には画像の解像度を72dpiとして処理しています。このため解像度が異なる場合、移動処理など動作結果が違ってくるものがあります。
Photoshop CC 2014のJavaScriptリファレンスやガイドに関しては以下のページにPDFで用意されています。

Photoshop CC 2014 Javascript reference.pdf
Photoshop CC 2014 Scripting Guide.pdf

また、Adobe社が発売しているアプリケーションで共通して利用できるJavaScriptリファレンスに関しては以下の書籍があります。


AAdobe JavaScriptリファレンスAdobe JavaScript リファレンス

掲載されているスクリプトで不具合がある場合はメール、openspc@alpha.ocn.ne.jpまでお願いします。
Last update:2014/9/1 PM 8:10

準備

  1. はじめに
  2. 注意事項
  3. JavaScriptとは?
  4. アプリケーション/バージョンアップに伴う注意点
  5. Adobe製品でのJavaScript
  6. Photoshop CC 2014のJavaScriptで、できることと、できないこと
  7. Photoshop CC 2014でのJavaScriptの実行方法
  8. JavaScript実行時の注意点
  9. ファイルの指定(パス)について
  10. PhotoshopのJavaScriptでプログラムを作成する前に
  11. より高速に実行させるには

PhotoshopのJavaScript入門

  1. プログラムとは何?(すぐに始めたい人&面倒な人は読む必要はありません)
  2. JavaScriptとは? (すぐに始めたい人&面倒な人は読む必要はありません)
  3. 簡単なプログラムでPhotoshop CC 2014を制御する
  4. 新規にドキュメントを作成する
  5. 文字を表示する
  6. 画像を読み込んで表示する
  7. よく使われる省略した書き方

JavaScriptの基本文法

  1. 行の記述
  2. 数値
  3. 文字列
  4. 変数名
  5. 型変換
  6. 特殊文字
  7. 三項演算子
  8. 代入演算子
  9. 演算子
  10. 比較演算子
  11. 文字列演算子
  12. 優先順位
  13. オブジェクト
  14. プロパティ/メソッド
  15. イベント
  16. リテラル

基本編

  1. 注釈(コメント)を入れる
  2. 変数を用意する
  3. 変数に数字や文字を入れる
  4. 配列変数を用意する
  5. 配列変数に数字や文字を入れる
  6. 配列のサイズ(個数)を調べる
  7. 基本的な演算を行う
  8. 高度な演算を行う
  9. 小数点以下の処理を行う
  10. 乱数値を発生させる
  11. 文字列を連結する(文字列の加算)
  12. 文字から数値に変換する
  13. 数値から文字に変換する
  14. 文字列の長さを調べる
  15. 特定の文字列があるかどうか調べる
  16. 文字列を抜き出す
  17. 文字をLatin 1コードに変換する
  18. 英文字を大文字、小文字に変換する
  19. 関数を定義する
  20. 条件判断を行う
  21. 複雑な条件判断を行う
  22. 一定回数繰り返し処理を行う
  23. 条件を満たしている間、繰り返し処理を行う
  24. 値によって分岐させる(switch, case)
  25. 例外処理(エラー処理)を行う
  26. 日付処理を行う
  27. 時間処理を行う
  28. タイムアウト処理を行う

初級編

アプリケーション情報等

  1. バージョンを調べる
  2. スクリプトエンジンのバージョンを調べる
  3. アプリケーション名を調べる
  4. 空きメモリを調べる
  5. ビープ音を鳴らす
  6. キャッシュをクリアする

ウィンドウ/ダイアログ

  1. アラートダイアログを表示する
  2. 確認のダイアログを表示する
  3. 入力ダイアログを表示する

ドキュメント

  1. 新規にドキュメントを作成する
  2. ドキュメントを複製する
  3. 開かれているドキュメント数を調べる
  4. ドキュメントの横幅、縦幅を調べる
  5. ドキュメントを保存する
  6. ドキュメントが保存されている絶対パスを調べる
  7. ドキュメントの保存パスを調べる
  8. ドキュメントを閉じる
  9. カラーモードを変更する
  10. 画像を統合する
  11. 全ての領域を表示する
  12. 全てのレイヤーをラスラタイズする
  13. アクティブになってるドキュメントの名前を求める
  14. アクティブになっているドキュメントを指定する
  15. アクティブになっているレイヤーを指定する
  16. アクティブになっているチャンネルを指定する
  17. 背景を指定する
  18. カラーモードを調べる
  19. ドキュメントのビット数を調べる
  20. カラープロファイル名を調べる
  21. カラープロファイルの種類を調べる
  22. 縦横比(アスペクト比)を調べる
  23. 解像度を調べる
  24. ドキュメントが保存されているかどうか調べる
  25. バージョンキューのドキュメントかどうか調べる
  26. クイックマスクモードかどうか調べる

キャンバス

  1. キャンバスサイズを変更する
  2. 画像サイズを変更する
  3. キャンバスを回転させる
  4. トリミングする
  5. 上下、左右反転する
  6. 表示されているレイヤーを結合する
  7. 画像を複製する
  8. 画像を切り抜く

カラー

  1. RGBカラーを指定する
  2. CMYKカラーを指定する
  3. グレーカラーを指定する
  4. HSBカラーを指定する
  5. Labカラーを指定する
  6. Webセーフカラーを求める
  7. CMYKカラー値をRGB値として読み出す
  8. RGBカラー値をCMYK値として読み出す

チャンネル

  1. チャンネル数を調べる
  2. チャンネル名を調べる
  3. チャンネルを追加する
  4. チャンネル名を設定する
  5. チャンネルを削除する
  6. チャンネルを複製する
  7. チャンネルの表示/非表示を設定する
  8. チャンネルの不透明度を設定する
  9. チャンネルの色を設定する
  10. チャンネルの種類を求める/設定する

レイヤー

  1. レイヤー数を求める
  2. レイヤー名を求める
  3. レイヤー名を設定する
  4. 全てのレイヤーをラスタライズする
  5. レイヤーが背景かどうか調べる
  6. 特定のレイヤーをアクティブにする
  7. レイヤーを作成する
  8. レイヤーにスタイルを指定する
  9. レイヤーのピクセルのある範囲を求める
  10. レイヤーの種類を調べる
  11. レイヤーの不透明度を変える
  12. レイヤーモードを指定する
  13. レイヤーをリンクする
  14. レイヤーを移動させる
  15. レイヤーを回転させる
  16. レイヤーを結合する
  17. レイヤーを削除する
  18. レイヤーを複製する
  19. レイヤーをリサイズする
  20. レイヤー名別にリサイズする
  21. 透明ピクセルをロックする
  22. 特定のレイヤーを見えなくする
  23. 背景をレイヤーにする
  24. 特定の名前のレイヤーが存在するか調べる

レイヤーセット

  1. レイヤーセットのロック状態を求める
  2. レイヤーセットの総数を求める
  3. 全てのレイヤーセットのロックを解除する
  4. レイヤーセットを追加する
  5. レイヤーセットの名前を変更する
  6. レイヤーセット内のレイヤー総数を求める
  7. レイヤーセットの不透明度を設定する
  8. レイヤーセットの表示モードを設定する
  9. レイヤーセットの表示状態を求める
  10. レイヤーセットを複製する
  11. レイヤーセット内の画像サイズを変更する
  12. レイヤーセットを回転させる
  13. レイヤーセットを移動させる

パス

  1. パスの総数を求める
  2. パスの種類を求める
  3. パスを複製する
  4. パスを削除する
  5. パスを全て削除する
  6. パス名を取得する

選択範囲

  1. 全てを選択する
  2. 座標を指定して選択する
  3. 選択を解除する
  4. 選択範囲を回転させる
  5. 選択範囲の内容を消去(クリア)する
  6. アルファチャンネルを選択する
  7. 選択範囲内にペーストする
  8. 選択範囲をコピーする
  9. 選択範囲を反転させる
  10. 選択範囲を塗りつぶす
  11. 選択範囲を移動させる
  12. 選択範囲があるかどうか調べる

(画像データ)ファイル

  1. BMP形式で保存する
  2. EPS形式で保存する
  3. GIF形式で保存する
  4. JPEG形式で保存する
  5. PDF形式で保存する
  6. Pixar形式で保存する
  7. PNG形式で保存する
  8. Photoshop形式で保存する
  9. RAW形式で保存する
  10. Targa形式で保存する
  11. TIFF形式で保存する
  12. PICT形式で保存する
  13. EPSファイルを開く
  14. PDFファイルを開く
  15. RAWファイルを開く

設定/プレファレンス

  1. 単位を設定する
  2. 単位を調べる
  3. 拡張子の付加設定
  4. 使用するカラーピッカーを設定する
  5. 終了時にビープ音を鳴らすかどうか設定する
  6. グリッドサイズを取得、設定する
  7. グリッド形状を取得、設定する
  8. グリッドの分割数を取得、設定する
  9. ガイドの形状を取得、設定する
  10. アイコンを保存するかどうか設定する (Mac)
  11. 各レベルでヒストグラムにキャッシュを使用するかどうか設定する
  12. キャッシュレベルを取得、設定する
  13. 画像プレビューを保存するかどうかを取得、設定する
  14. ズーム時にウィンドウサイズを変更するかどうか取得、設定する
  15. PSD形式の互換性の設定
  16. 使用するRAMの割合の取得、設定
  17. 最大ヒストリー数の取得、設定
  18. その他カーソルの形状の取得、設定
  19. ペイントカーソルの形状の取得、設定
  20. ピクセル倍増の取得、設定
  21. point/picaの大きさの取得、設定
  22. 最近使用したファイルのリスト数の取得、設定
  23. ヒストリーログの保存形式の取得、設定
  24. パレット位置の取得、設定
  25. 日本語テキストオプション表示の取得、設定
  26. フォント名を英語表記にするかどうかの取得、設定
  27. スライス番号を表示するかどうかの取得、設定
  28. ツールヒントを表示するかどうかの取得、設定
  29. スマート引用符を使用するかどうかの取得、設定
  30. 文字で使用する単位の取得、設定
  31. 追加のプラグインフォルダを使用するかどうかの取得、設定
  32. 誤差拡散法(ディザ)を使用するかどうかの取得、設定
  33. ヒストリーログを使用するかどうかの取得、設定
  34. 拡張子を小文字にするかどうかの取得、設定
  35. ツールの変更にSHIFTキーを使用可能にするかどうかの取得、設定
  36. ビデオアルファを使用するかどうかの取得、設定
  37. Windows用のサムネールを保存するかどうかの取得、設定

一般ファイル/フォルダ処理

  1. ファイルを開く
  2. ファイル内容を全部読み込む
  3. 最初の5文字だけ読み込む
  4. 1行読み込む
  5. 1文字読み込む
  6. 1文字読み込み文字コードを表示する
  7. ファイルに文字を書き込む
  8. ファイルタイプ(種類)を調べる
  9. ファイルポインタの位置を調べる
  10. ファイルポインタの位置を指定する
  11. ファイル保存ダイアログを表示する
  12. ファイル選択ダイアログを表示する
  13. ファイルのバイト数を求める
  14. ファイルの行数を求める
  15. 改行コードの数を調べる
  16. ファイルの終わりかどうか調べる
  17. ファイルのエンコードの種類を調べる
  18. ファイルをコピーする
  19. ファイル名を変更する
  20. ファイルを削除する
  21. ファイルが存在するかどうか調べる
  22. ファイルの作成日/修正日を調べる
  23. ファイル名を調べる
  24. ファイルのパスを調べる
  25. フォルダ選択ダイアログを表示する
  26. フォルダオブジェクトを作成する
  27. フォルダが存在するかどうか調べる
  28. フォルダの作成日/修正日を調べる
  29. フォルダのパスを調べる
  30. フォルダを作成する
  31. フォルダ名を変更する
  32. フォルダを削除する
  33. フォルダ内のファイル一覧を取得する

中級編

ドキュメント関係

  1. 全てのドキュメントを保存せずに閉じる
  2. 全てのドキュメントを保存して閉じる

レイヤー関係

  1. レイヤー名をすべてテキストファイルとして保存する
  2. レイヤーセット名をすべてテキストファイルとして保存する
  3. レイヤーセット内に含まれるレイヤー名も含めてすべてテキストファイルとして保存する
  4. テキストファイルに設定されたレイヤー名に従ってレイヤー名を全て設定する
  5. フォルダ内にある全てのPSD形式のファイルを開いてレイヤー名を再設定する

正規表現による検索/置換

  1. 該当する文字列があるかどうか全レイヤーに渡って調べる
  2. 該当する文字列があるかどうか全ドキュメント、全レイヤーに渡って調べる
  3. 全レイヤー内に特定の文字があるかどうか調べ確認しながら置換させる

GUI編

GUI部品

  1. ダイアログ/ウィンドウを作成する
  2. OKボタンを作成する
  3. ボタンを作成する
  4. パネルを作成する
  5. 固定テキストを作成する
  6. 編集可能なテキストを作成する
  7. テキスト位置を指定する
  8. ラジオボタンを作成する
  9. チェックボックスを作成する
  10. スクロールバーを作成する
  11. スライダーを作成する
  12. ドロップダウンリストを作成する
  13. リストボックスを作成する
  14. カスタムアイコンボタンを作成する
  15. 画像を表示する
  16. プログレスバー(進行状況表示バー)を表示する
  17. イベントを定義する
  18. スライダーの値をリアルタイムに表示する