フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援
フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援

[WIN版] Illustrator CCで動くスクリプト開発

現在はMac環境でApplescriptで書いたものを使用していますが、Windowsへ移行する関係で必要になりました。
実は同じ依頼で、以前作成いただいたのですが、OSやスクリプトの性質上、
ptからcmに変換の計算をする際に無限小数を使用するため誤差が生じるとのことで、
取得される数値がMacとWindowsで若干違ってしまいました。
ちょっとこれでは困りますので、MacとWindowsで同じになるものを作成いただける方を再度募集致します。

WindowsのIllustratorで動かすので、javascriptになるのかなと思います。
現在Macで選択したオブジェクトの縦横のサイズと、オブジェクト情報をクリップボードへコピーするApple Scriptを使用しています。

■ファイル名は以下のルールで命名されています。
「nnnnnn」の部分は受付番号の数字が入り、拡張子はバラバラです。
01_nnnnnn_xxxxxx.ai
02_nnnnnn_xxxxxx.jpg
03_nnnnnn_xxxxxx.gif
04_nnnnnn_xxxxxx.png
05_nnnnnn_xxxxxx.eps
06_nnnnnn_xxxxxx.psd

■取得するオブジェクトの内容
開いているファイル名の先頭に記載されている番号 / nnnnnn(整数) / W(cm) / H(cm) / パス数(合計) / パス数(open) / パス数(close) / pt / 長さ(mm) / 複合パス

■クリップボードにコピーされる内容例
開いたァイル:01_046597_xxxxxx.ai
コピーされる内容:01,046597,37.6cm×3.5cm,15,0,15,329,2042.40322137309,10

■妥当性の確認条件について
ファイル名の先頭が「01_」のようになっていないファイルの場合は、「error,61.0cmx…」という風にしてください。
なおファイル名の先頭は必ず2桁の数字でその後ろにアンダースコアが1つ付きますので、
それ以外の場合は「through」と表記してください。
例えば「009643_xxxxx.ai」というファイルの場合、先頭に2桁+アンダースコアがないので、
「through,046597,37.6cm×3.5cm,15,0,15,329,2042.40322137309,10」という感じです。

「0_009643_xxxxx.ai」というファイル名の場合も、最初が2桁ではないので、
「through,009643,37.6cm×3.5cm,15,0,15,329,2042.40322137309,10」となります。

また「01_nnnnnn_xxxxxx.ai」の「nnnnnn」は6桁の数字が入るのですが、
今後桁数が増えるかローマ字が追加される可能性があるため、2つ目のアンダースコアをトリガーとしていただければと思います。
つまり「nnnnnn」の部分については妥当性確認は不要で、
「01,045987,69.1cm×29.9cm,52,0,52,684,6980.49770890838,10」でも
「01,あiうEおカキくけこ,69.1cm×29.9cm,52,0,52,684,6980.49770890838,10」でも拾えるように、という事です。

■動作まとめ
オブジェクトを選択->スクリプトを実行

クリップ済み等問わず、選択された全てのオブジェクト、グループ内オブジェクトを巡回する
巡回済みリストを仮に`Aリスト`と置く

`Aリスト`内に「埋め込みもしくはリンク画像」がある -> ◆ 「埋め込みもしくはリンク画像」がある場合の処理へ
`Aリスト`内に「埋め込みもしくはリンク画像」がない -> ◆ ベクターデータ処理へ

◆ 「埋め込みもしくはリンク画像」がある場合の処理
`Aリスト`内にある「埋め込みもしくはリンク画像」のみを抽出し、w, h情報を取得
ただし、クリッピンググループである場合はw, hはグループ内最上位オブジェクトのものとなる
もし、`Aリスト`内にある「埋め込みもしくはリンク画像」が複数ある場合は全体のw, hになる

ファイル名フォーマットの確認
「xx_xxxxxx_nnn」である -> ファイル名 + w, h
「xx_xxxxxx_nnn」でない -> through + w, h

◆ ベクターデータ処理
`Aリスト`より全体のオブジェクト情報を取得

ファイル名フォーマットの確認
「xx_xxxxxx_nnn」である -> ファイル名 + w, h + オブジェクト情報
「xx_xxxxxx_nnn」でない -> through + w, h + オブジェクト情報

現在Mac環境で使用しているApple Script、以前作成したWindows用スクリプトはお渡しすることは可能です。
このスクリプトは、「画像を1つ含む」、「画像を2つ以上含む」、「画像を含まない」の3つの動作モードに分けて実装されています。
なお現在のスクリプトの動作はタイムラグ無く使用できていますが、
この改良でレインボーマークがまわるなど、明らかに動作に遅延が発生するのはNGです。
また加えて、縦横のサイズのみ(37.6cm×3.5cmみたいな感じで)クリップボードへコピーするスクリプトも一緒に作成してください。
何卒よろしくお願い致します。

支払い方式 : 固定報酬制
予算 : 予算はメンバーと相談する

[紹介元] クラウドワークス プロ向けの仕事 [WIN版] Illustrator CCで動くスクリプト開発

コメント

記事に戻る

コメントを残す