Adobe Illustrator CS6自動化作戦

 このページはAdobe Systems(アドビシステムズ)社のIllustrator CS6をJavaScriptによって自動化運用するためのサンプルスクリプトを掲載しています。
Illustrator CS6はJavaScriptのコアオブジェクト、Adobeファイルオブジェクトに関しては他のAdobeソフトと同じです。つまりInDesign CS〜CS6、AfterEffects 6.5〜CS6、Photoshop CS〜CS6、Bridge 1.0〜CS6で作成された一部のコードは、そのまま動かす事ができます。これはIllustrator CS6独自部分の機能だけを習得すれば良いと言うメリットもあります。
このページに掲載されているスクリプトはMac OS X Snow Leopard (10.6.x) のIllustrator CS6を基準にしているため、Mac OS X Lion (10.7)やMac OS X Mountain Lion (10.8)およびWindows版では異なる動作になる可能性があります。あらかじめ、ご了承ください。
Illustrator CS5時点での変更点はAdobe Illustrator CS5自動化作戦のページを参照してください。Illustrator CS6からはスクリプトからアクションを実行することができるようになりました。これによりスクリプトでは面倒だった処理をアクションと組み合わせて自動化することができます。スクリプトからアクションを呼び出すメソッドはapp.doScript()です。これは「app.doScript("アクション名", "セット名")」のようにして使います。
Illustrator CS6のスクリプトガイドやリファレンスに関しては以下のページから入手することができます。
Illustrator CS3ベースの自動化処理に関してはAdobe Illustrator CS3 + JavaScript 自動化サンプル集を参照してください。
Adobe JavaScriptリファレンスおよび共通で使えるライブラリ、Illustrator自動処理サンプルに関しては以下のページを参照してください。
 掲載されているスクリプトで不具合がある場合はopenspc@alpha.ocn.ne.jpまでお願いします。
Last update:2013/1/20 AM 2:30

準備

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

IllustratorのJavaScript入門

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

JavaScriptの基本文法

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

基本編

  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. 入力ダイアログを表示する

アプリケーション

  1. ブラウザが利用できるかどうかを調べる
  2. 空きメモリのサイズを調べる
  3. スクリプトのバージョンを調べる
  4. イラストレータのバージョンを調べる
  5. イラストレータの表示状態を調べる
  6. ビープ音を鳴らす

ドキュメント処理

  1. ドキュメントを作成する
  2. ドキュメント名を取得する
  3. 開かれているドキュメントの総数を取得する
  4. ドキュメントのファイルパスを取得する
  5. ドキュメントの横幅/縦幅を取得する
  6. ドキュメントの出力解像度を取得する

レイヤー処理

  1. 一番上に表示されているレイヤー名を取得する
  2. 一番下に表示されているレイヤー名を取得する
  3. レイヤーの総数を取得する
  4. レイヤー名を指定する
  5. レイヤーを追加する
  6. レイヤーを削除する
  7. レイヤーの重なり順を変更する
  8. レイヤーの表示状態を取得/設定する
  9. レイヤーのロック状態を取得/設定する
  10. レイヤー全体の不透明を設定する
  11. アクティブレイヤーにアクセスする

カラー処理

  1. RGBカラーを指定する
  2. CMYKカラーを指定する

図形処理

  1. 四角形を作成する
  2. 角丸四角形を作成する
  3. 星形を作成する
  4. 楕円形を作成する
  5. 多角形を作成する
  6. 直線を作成する

テキスト処理

  1. 文字を表示する
  2. 文字のサイズを指定する
  3. 最初の1文字のサイズを指定する
  4. 文字をアウトライン化する

段落処理

  1. 行揃えを指定する

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

  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. 全てのドキュメントを保存して閉じる

GUI編

GUI部品

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