画像ファイルのメタデータ(Exif)を一括表示・出力させたい!
弊サービスは、お客さまがWeb上でファイルをアップしてから納品までが自動化されています。弊サイト内「ご利用方法」にも記載しておりますが、このような流れです。
- お客さまがメンバーページにログインし、Web上でzipファイル(画像ファイル入りの)をアップロード(コメント欄あり)
- 料金が表示される
- その料金でOKな場合は「作業開始(発注確定)」ボタンを押す。
- アップされたファイルがミャンマーに転送されると同時に、ミャンマーのスタッフに自動通知がいく。
自動通知はOrder内容(コメント内容含む)が英語/ミャンマー語に自動翻訳されたもの。お客さまには日本語のままorder内容のメールが届きます。 - ミャンマースタッフにて作業
- 作業完了したらミャンマーからシステムにて納品+お客さまに納品通知メールが送られる
- お客さまがWeb上でzipファイルで受け取り、確認する。修正要のものがあれば差戻ししていただき、再度確認。
- 確認してOKなら、検収ボタンを押していただく。(1週間経過してもご検収をいただかない場合は自動検収)
この一連の流れのなかで個別対応が必要なお客さまについては、私も確認を手伝ったりもしています。(実際の切り抜き作業自体は常にミャンマーで実施しています)
自動化できずとも少しでも人為的なミスを減らしたいのでなるべく仕組み化したいなと思っていて、あるツールを探していました。画像ファイルのメタデータの一覧です。
こちらでチェックするということはお客さまもチェックする項目だと思うから、ツールを調べつつ記事にします。(私が情報提供しなくてもすでに何かしらのツールをお持ちだろうとは思いますが)
画像ファイルのメタデータの一覧を取得可能なツール
探していたのは、ファイル名・画像の縦横のサイズ・解像度が一覧取得できるツールです。
ファイル名だけならコマンドプロンプトで出力までできますが、画像の縦横のサイズ・解像度を出力する方法を見つけられず。構築済の自動のシステムではphpを使用していますが、手作業で確認するのをちょっと便利にするのにログインの仕組みまで時間をかけられないし、かといってローカルだとphpを動かせないし、便利に作れたら社内の他のスタッフとも共有したいから私のPCだけXAMPP入れて、というのは微妙だなと思うので。ミドルウェアを気にせずふつうのWindowsで、ローカルで使えるもの。という前提条件で探しました。
一覧表示&csv等で出力させたい項目
- ファイル名:ミャンマーでは1案件を1人が作業するわけではなく、1案件を何人かで作業して、マネージャーが確認してとりまとめています。何人かで作業してそれをまたまとめるときに何かしらの人為的な間違いが発生する恐れがあるので、依頼前と依頼後で確認したほうが良い項目です。拡張子も含むので、ファイル形式のチェックも。
- 画像の縦横のサイズ・解像度:指定されることが多い項目ながら、ツールなしでは1ファイルずつしか見られず確認にめちゃめちゃ手間がかかってしまいます。
- フォルダ名(パス):これはできれば、だけど、お客さまが商品やカテゴリ単位でフォルダで分けている場合に、そのファイルがそのフォルダにちゃんと入っているかも確認できたほうがよく、また、1フォルダずつ開いての確認だと手間がかかるので、複数フォルダの画像を確認できて、かつどのフォルダに入っているかも確認できたほうが良い。
キーワード
ずっと検索しても見つからなかったのですが、今日Adobe CC Bridge触ってて、自分が一覧表示&出力させたいデータはデータは「メタデータ」って言うんだとわかってからは、「Exif」(いぐじふ、と読むらしい)というキーワードにもたどり着き、ソフトを検索できるようになりました。今まで「プロパティ」とか「画像データ」とか「画像サイズ 解像度」とかで調べても一向に出てこなかったのに。
ExifとはExchangeable image file format(エクスチェンジャブル・イメージ・ファイル・フォーマット)の略で、
富士フイルムが開発し、当時の日本電子工業振興協会 (JEIDA)で規格化された、写真用のメタデータを含む画像ファイルフォーマット。デジタルカメラの画像の保存に使われる。略称はExifで「エグジフ」(もしくは「イグジフ」)。
対応画像形式はJPEG、TIFF、JPEG XR(HD Photo)。
とのことなので、psdは含みません。
メタデータは(metadata)、メタ情報とは、メタなデータ、すなわちデータについてのデータという意味で、あるデータが付随して持つそのデータ自身についての付加的なデータを指す。
メタデータのなかでも画像ファイルについてのある規格がExif、ということですよね。Adobe社では「メタデータ」の表現で使われているので検索時などご留意ください。
例)Adobe Bridge でのメタデータの処理
できなかったソフト
もしかしたら裏技的にできたかもしれないですが、私の検索能力ではやり方を見つけられなかったソフトをまず挙げてみます。
- Windows PowerShell:一括でExifを編集したりリサイズしたりができるので、一覧の表示・出力もできそうだが、私にはやり方を見つけられなかった
- Windows コマンドプロンプト:treeで表示させて一覧を出力可能(階層の表示がデータとして扱いづらいのはある)、だがExifは出せない
- MS office Excel:関数で取り出すことはできなさそうだった
- MS VBA:1ファイルごとじゃない取り出し方があるのか調べきれなかった
- Google スプレッドシート:関数で取り出すことはできなさそうだった
- Google App Script:使ってみたかったけど、今回やりたいことについてWeb上で記事を見つけられなかった
- Adobe CC Photoshop:探せども、探せども、位置情報の削除方法とか書き出し方法ばかり出てきてしまい、一覧表示&出力については情報を見つけられなかった
- Adobe CC Bridge:1フォルダずつではあるがそのなかのファイルのExifデータを一覧表示させることはできる。出力のしかたがわからなかった(検索したらAdobeのサイト内のQ&Aに私と同じことをやりたい方がlightroomでできないか質問していて、結果、できないっぽかった)
ソフトではなくプログラミングでシステム構築するなら、phpだとExif関数というのがあったり、PythonでもExifを扱えるようだし、なんとでもできるのかなと思います。Java Script、jQueryでもExifを使って画像に操作を加える記事があるし、ソフトを探してるとPerlで作られてるものがあるしで、もう、大体のプログラミング言語で何かしらExifを扱えるのではないかと思えてきます。
ソフトを試してみる
とりあえずひとつめとしてExiftoolというのを試したのですが、1ファイルずつ、ファイル名を指定しないといけませんでした。1ファイルずつファイル名を指定するコマンドを自動生成させるところまではがんばれば、使えなくはなさそうです。
でもやっぱり最初から一覧で書き出してくれるツールを見つけたい!
今回やってみてからまた探してみて、わかったことがあります。「一括編集」のような文言を見て「編集できるなら表示だって一括でできるでしょ」と思っていたのですが、「一括編集」は複数ファイルを指していても、「一括表示」は、1ファイルのExifに含まれる項目群のファイル単位で一括表示、を指すことが多いかなということです。
まだあきらめずにもう少し探してみて、良いのがあればまた別記事でご紹介したいと思います。