大量の画像にExcelのテキストを流し込む作業依頼が来た
クライアントのアンコさんから連絡が来ました。
60個の画像全部、右下に右揃えでテキストの注釈を入れて左上にウォーターマーク入れて連番で書き出す、という依頼です。
またこれか。
流し込みとは
この場合の流し込みとは、ある書式(雛形)に読み込んで画像やテキスト(文字)などを配置することです。
業界用語?
ウォーターマークとは
ウォーターマークとは本来紙の透かしのことを指しますが、最近では著作権表示などのために画像や動画に小さな図案や文字を写し込むことを指すことが多いです。
手作業でやる場合
手作業でやるなら下記の手順になります。
- Photoshopで「ファイル→スクリプト→ファイルをレイヤーとして読み込み」
- テキストレイヤーとウォーターマークも60個レイヤー複製
- テキストレイヤーとウォーターマークと画像をグループ化
- テキストレイヤーにExcelファイルからコピペを繰り返し
- グループ毎に画像を出力するスクリプトで一括書き出し
スクリプトはこういうのを、ちょっといじってPNGで出力してます。
ある程度自動化しているとは言え、コピペが面倒。
Photoshopで大量の画像にcsvから自動でテキストを流し込む方法
Photoshopの「変数」機能を使います。
こちらの画像を
指定通り、左上にウォーターマークをいれ、右下にキャプションを入れるよう一括で自動変換してみます。
雛形を準備
まず、Photoshopで雛形となるレイヤーファイルを作ります。
この場合は640×480のファイルを作成、指定通りの位置に注釈サンプルとウォーターマークを配置します。
レイヤー構成はこんな感じ
csvを準備
Excelファイルを開いて、列の見出しに変数名っぽいのを入れておきます。
この時、読み込むファイル名の列も作っておく必要があります。
MacならFinderで読み込むファイルを全て選択してコピー、Excelにペースト、という手順です。
ここではファイル名を「img_files」、注釈を「caption」と設定しておきました。
「別名で保存」でutf-8のcsvに書き出します。
書き出したcsvは画像が入っているフォルダに配置しておく必要があります。
変数を定義
メニューから「イメージ→変数→定義」を開きます。
「流し込み画像に置換」レイヤーのところは「画像の置き換え」にチェックを入れて「img_files」をセットします。
今回画像ファイルは全て画格を同一にしてあるので「変更なし」で設定しましたが、置き換え方法は適宜変更すること。
置き換え方法を変えると下部の「説明」のところにどう置換されるか表示されます。
「注釈サンプル」レイヤーのところは「テキストの置き換え」にチェックを入れて「caption」をセットします。
変数のデータセット
左上プルダウンメニューから「データセット」を開きます。
右側の「読み込み…」のところをクリック
csvファイルを読み込みます。
エンコードはutf-8、「最初の列をデータセット名として使用」にチェックを入れます。
前項で変数を正しく定義できていれば正常に読み込めます。
「プレビュー」にチェックを入れて◀ ▶をクリックすると、どのように置換されるか確認できます。
問題なさそうなら「OK」を。
書き出し
メニューから「ファイル→書き出し→データセットからファイルを書き出し」を開きます。
- 書き出すフォルダを選択
- 「データセット」を「すべてのデータセット」に設定
- ファイルの名前を設定。この場合は「データセット番号(01、02…)」
OKを押せば指定したフォルダに流し込み完了したpsdファイルが生成されます。
psdをPNGやJPEGに変換
お好みの形式に書き出すアクションを一度作っておけば「ファイル→自動処理→バッチ」で一括変換できます。
アクションを作る際、書き出すフォルダはユーザディレクトリに「images」などのフォルダを作っておいて、常に同じ場所に書き出されるようにしておいた方が楽です。
以上、60分かかる予定の作業を10分以下に短縮できました。
まとめ
大量の画像にExcelファイルからテキスト流し込みする際は、Photoshopの「変数」機能を使えば楽ちん。
単純作業は自動化で効率良く。
今回、例として使用した画像はこちらの記事からの引用です。
それではまた・・・さよならいち!・∀・)ノ