【Photoshop】CSVファイルを変数・データセット機能で流し込みする方法

公開 : 2023/06/18 : 2023/07/03

この記事は「Text to Clip」を使う方に向けて書いていますが、Photoshopの変数とデータセットを使った流し込みをやりたい方にも参考になります。
Text to Clipとは、CSVファイルをxmlファイルに変換してくれるwebアプリです。
xmlファイルをPremiere Pro CCへインポートすれば、「.psd」のクリップが入っているシーケンスが読み込まれます。
あとはpsdデータを再リンクするだけ。業務の時短につながるのでぜひ活用してみてください。

しかしText to Clipを使う際 「保存したpsdのファイル名とxmlファイルが同じになっていること」
ここを守らないと誤リンクや再リンクできないなどのエラーが出てしまうので注意してください。

この条件を整えるためには「PhotoshopもCSVファイルを使う」のが確実です。
変数とデータセットを使った流し込みという作業ですね。

CSVファイルを使って流し込みをすれば、CSVファイルで指定したファイル名で保存されます。
xmlファイルもCSVで指定したファイル名になっているので、懸念されるファイル名ズレは発生しません。

以下はざっくりした手順です。

CSVファイルをPhotoshopで流し込みするざっくりした手順
1.CSVファイルを作成する
2.流し込み用のpsdファイルを用意する
3.変数を定義し、CSVファイルを読み込む
4.「データセットからファイル…」でpsdファイルを量産する

では具体的な手順とエラーの対処法を解説していきます。

1.CSVファイルを作成する

画像は「原稿からCSV書き出し」シートです。
流し込みに必要なデータは「name」と「title」のみです。それ以外は必要ありません。
「PSD専用_CSV書き出し」シートからCSVファイルをダウンロードしてください。

「name」と「title」のみにすると、変数を定義する時に余計な設定をしなくて済むのでやっておきましょう。(CSV書き出しシートでも流し込みはできますが、設定する項目が3倍くらいに増えます。)

2.流し込み用のpsdファイルを用意する

次に流し込みで使う雛形のpsdファイルを作りますが、 「原稿用のテキストレイヤー」「ファイル名用のテキストレイヤー」は必ず用意してください。
コメントテロップなどの雛形テロップがある方は雛形のレイヤーを使ってOKです。

CSVファイルの「title」は、「流し込み用」のレイヤーに置き換わり
「name」レイヤーは、「ファイル名用のテキストレイヤー」に置き換わってファイル名になるので、カンバスの外にあった方がいいです。

3.変数を定義し、CSVファイルを読み込む

変数を使ってCSVファイルを認識させます。
ファイル>変数>定義

「レイヤー:」の項目でレイヤーを選択します。
「テキストの置き換え」にチェックを入れ、CSVファイルの項目と同じにします。
同じように流し込みレイヤーを選択し、「テキストの置き換え」にチェックを入れ、CSVファイルと同じ「title」を入力。

CSVファイルの項目は「name」「title」のみにしたので、この2項目を紐付けします。
「*」が付けば紐付け完了です。

!重要!

CSVファイルの項目はすべて何かのレイヤーに紐付けておかないとエラーが発生します。
例えば、CSVファイルに「in」という項目があった場合、「in」を変数で定義しておかないとエラーが出て流し込みできません。
面倒な設定を無くすため、PSD専用のシートを作りましたので活用してくださいね。


変数を定義したら「次へ」を押してデータセットの項目に移ります。

「読み込み」をクリックし、CSVファイルを指定してください。

ファイルを選択:CSVファイルを選択。
エンコーディング:「UTF-8」下の2項目にチェックを入れる。
※チェックボックスは2つともチェック入れる。

「OK」をクリックしてエラーが出なかったら準備完了です。
テキストエディットなど、テキストベースの形式は、ここで高確率でエラーが出ます。
しかしCSVファイルを使った場合、フォーマットがしっかりしているのかエラーが起こりにくい気がしました。

4.「データセットからファイル…」でpsdファイルを量産する

あとは書き出すだけです。
ファイル>書き出し>データセットからファイル…

フォルダを選択:書き出し先を設定。
ファイル名:「データセット名」になっていて、他は「なし」に設定。
ファイル拡張子:小文字の「.psd」を使用。

データセット名とは、変数の時に設定した「name」のことです。
想定通りのファイル名になっていることを確認してください。

設定できたら「OK」をクリック。
これでText to Clipで作ったxmlファイルと同じ名前のpsdファイルが作られます。

違うファイル名まで一括でやってくれるのは何気にありがたいですよね。
できたpsdファイルは各フォルダに移動して分かりやすくしておきましょう。



お疲れ様でした。これであなたは流し込みマスターです。

余談になりますが、CSVファイルで流し込みの検証しながら思ったことがあります。
これ、事前に文字をレイヤー分けして違うレイヤー効果をかけたいってなった時にも使えるじゃん……
1.スプレッドシートで原稿をまとめる。
2.色変えしたい文字列を隣のセルに入力。
3.その隣のセルに、色変え以外の文字列を入れて(色変えしたい文字列は全角の空白で置き換え)。
4.CSV書き出し。

できるな。。ぜひお試しください。

エラーの回避について

テキストエディットで流し込みをした時よりもエラー発生率が低かったのですが、検証中はエラーは発生しました。
僕が経験したエラーの原因と回避法は分かったので紹介します。参考にしてください。

「ファイルの内容をデータセットとして解析できませんでした。テキストファイルの最初の行に変数名が多すぎます。」

これは変数を全て定義しなかったことで発生しました。
配布しているスプレッドシートの項目でCSVを書き出すと
「name」「title」「in」「out」「track」「frameIn」「frameOut」などがあります。
これを全て定義しないと、変数名が多すぎるというエラーが起こります。
しかしこれは「PSD専用_CSV書き出し」シートを用意したので回避できるかなと思っています。

あとこれは調べて知りましたが、CSVファイルに空白の項目があってもダメみたいですね。



・psdのファイル名が意図しない名前になる。
これはCSVファイルのA列(最初の列)がnameじゃなかったことが原因でした。
この原因については、配布したスプレッドシートを修正済みです。



・データ書き出し途中で停止する。
検証中に起こりませんでしたが可能性があるので書いておきますね。考えられる原因はいくつかあります。
1.NASなどのサーバーに直接書き出していて、負荷に耐えられず停止
2.流し込み中に他の操作をしようとしたら、負荷に耐えられず停止
3.変数を定義している量が多すぎる。またはレイヤー効果モリモリ、フォルダにレイヤー効果重ねまくりの重たいテキストレイヤーになっている。(psdのファイルサイズも原因かも?)
4.CSVファイルに空白の行がある

PCの負荷が原因か、CSVファイルに空白行があるかのどちらかだと思います。
レイヤー効果があまりかかっていない状態にして、定義する変数の数も減らしてみてください。
それでも途中で止まってしまう(例えば音テロの100で止まる)場合、
1.スプレッドシートで音テロ100から下のセルをコピー
2.新規シートを作成し2行目からペースト(1行目は「name」「title」が入ります)
3.これをCSVファイルに書き出す

を試してください。



その他のエラーはテロップの友がまとめていたので参考にどうぞ。

最後に、このワークフローになった時よく使うと思われるPhotoshop機能についてお話しします。
Photoshopのテキスト文字を書式なしでペースト(編集>特殊ペースト>書式なしでペースト)できます。(正直、今まであまり使うことはなかった)
Text to Clipを使って作業する場合、文字が原稿ではなくPhotoshopにあるので「プレーンテキストで貼り付け」はかなり使うのではないかなと思っています。
ぜひショートカットに組み込んでみてくださいね。