LoginSignup
0
1

adobe illustrator でファイルを開いた時に、ファイル保存形式のバージョンがわからんと言ってたので作ってみた

Posted at

ちゃーっす。
adobe製品はillustrator, photoshop, premireしかしらない人間です。

今回はillustratorのファイルを開いた状態で、ファイルの保存形式を確認する方法を模索したという話です。

きっかけは、デザインチームの「入稿時に保存形式が指定されているがわからない」という話題から始まり。
ちょっと面白そうだったので、この連休三日間の暇つぶしで解決してみようかなと思いました。
(qiita記事にもなって一石二鳥)

導入:

ファイルの保存形式というのは、入稿時によくCSのみとか、CCとか指定が入ることが多いようです。
実際「別名保存」=>「illustratorオプション」のところで選択できます。
Illustrator_オプション_と_名称未設定-1___78_47____CMYK_プレビュー_.png

そしてこのファイルの保存形式について、illustrator上では確認しづらいようです。

確認方法:

.aiのファイルをテキストエディタなりで読み取ると確認できるみたい。

今回はvscordだとみやすいようです。
以下画像の中のCreatorという箇所の情報がファイル形式を特定する鍵になります。
test_ai_—_sandbox.png

「Adobe Illustrator(R)」以降の数字を以下の対応表に当てはめると保存している形式がみつかる。

表記名 バージョン
11.0 CS
12.0 CS2
13.0 CS3
14.0 CS4
15.0 CS5
16.0 CS6
17.0 CC (レガシー)
24.0 CC 2020

なので、ファイルを解析するスクリプトを書くといいみたいだということがわかる。

adobeで使える言語

adobeで使える言語は調べてみると以下のようです。

  • applescript(macのみ)
  • vbscript(windowsのみ)
  • javascript(mac,windows両環境つかえる)

今回は普段使っていて学習コストの少ないjavascriptを使っていきます。
ExtendScriptというらしい。

補足:ExtendScriptについて
ここが詳しく載っていている。
ES3相当しか使えないため、普段使っている手法(アロー関数とか)なしで開発しなれければいけないのと、若干javascriptと解釈が異なる部分があるので注意が必要。ネストする三項分岐とかは特に意識したほうがいいよですね。
以上のことからあまりadobeは、開発に積極的じゃない感がよく伺える。
(サブスク高いし、契約形態が融通性がないから、そこらへんもっと提供しろよという気持ちは置いておこう)

コード:

もっと改良点はありそうだが、あげておく。
(記事書いてる途中で、try-catchの意味がない気がしてきた。)

var version_map = {
    "11.0":"CS",
    "12.0":"CS2",
    "13.0":"CS3",
    "14.0":"CS4",
    "15.0":"CS5",
    "16.0":"CS6",
    "17.0":"CC legacy",
    "24.0":"CC 2020",
} 

var re = /%Creator:\sAdobe\sIllustrator\(R\)\s(\d+\.\d+)/;
var f = File (app.documents[0].fullName);
if (f.open('r')){
    while (!f.eof){
        if(f.readln().match (re)) {
            try {
                alert ('形式バージョン: '+ version_map[RegExp.$1]);
            }
            catch(err){
                alert ('形式バージョン: unknown');
            }
            break;
            }
        }
    }

使い方:

このかたの記事がとてもわかりやすいのでご参考ください。

こんな感じで表示されます。
名称未設定-1_ai___78_47____CMYK_プレビュー_.png

おわりに:

結構簡単にできた。(とかいいつつ1日ぐらい使ったけど)
javascriptでだいたいできる世の中は素敵だ。

こういう「ちょっとだけ痒いところに手が届くツール」を作るのは大好物なので苦にならないから楽しく作れる。

使ってくれるといいな・・・。

参考文献:

JavaScript Tools Guide CC
kawamoto_α氏 ExtendScriptについて知ってることをまとめた
hamko氏 Illustratorでスクリプトを使ってみよう[標準機能編]

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1