ExifTool は Illustrator ファイルのメタデータ抽出に対応していますが、デフォルトのままでは「保存バージョン」「作成バージョン」ともに必要な情報を取得できません。これをゲットできるようにする方法です。
##ExifTool のダウンロード
http://www.sno.phy.queensu.ca/~phil/exiftool/
インストーラーではなく、トップページ冒頭のリンクからダウンロードします。必要なものは「exiftool」と「lib」です。この 2 つが同階層にあれば exiftool は動作します。
##PostScript.pm を編集する
lib > Image > ExifTool > PostScript.pm をプレーンテキストエディタで開いて編集します。この記述を変更・追加することで、必要な情報をゲットできるようにします。
###Creator(保存バージョンの取得)
Creator タグで「保存バージョン」を取得します。デフォルトですでに取得可能なのですが、
Creator => { Priority => 0, Writable => 'string' },
Illustratorのepsファイルは、v9以降からCreatorの記述が2箇所に出現し、保存バージョンは1番目ではなく2番目であることはよく知られています。デフォルトでは1番目の方を返してくるので、正確な保存バージョンを取得できません。そこで、Priority => 0
を1
に書きかえます。
Creator => { Priority => 1, Writable => 'string' },
こうすることで、2箇所あった場合に2番目の方を返すようになります。
追記
検証の結果「epsファイルの2箇所にあるCreatorは2番目が保存バージョン」は誤りで、「1番目=作成バージョン、2番目=互換バージョン」と捉えた方が一貫性を持って混乱なく把握できることが分かりました。
なお、aiファイルのCreatorは1箇所のみで、互換バージョンです。これをそのまま保存バージョンと見なすのも不正確になります。
###AI8_CreatorVersion(作成バージョンの取得)
本当の作成バージョンが AI8_CreatorVersion タグにあることは、これもよく知られています。ExifTool はこのタグをデフォルトでは取得しません。そこで追記します。
Creator => { Priority => 1, Writable => 'string' },
AI8_CreatorVersion => { Priority => 0 },
これで AI8_CreatorVersion を返してくるようになります。
##exiftool コマンドの使い方
- exiftool -s タグと値の一覧を取得できます
- exiftool -T -Creator Creator の値を取得できます
- exiftool -T -AI8_CreatorVersion AI8_CreatorVersion の値を取得できます
タグを複数並べると、一度で取得できます。値はタブ区切りで返ってきます。
- exiftool -T -FileType -CreatorTool -Creator -AI8_CreatorVersion