今日の日付を入れる[タイムスタンプ](1)

 作品ができあがった時に、できあがった日付を入れたい場合があります。手作業でやっても苦にならないほどですが、大量にCopyright〜の文字や日付を入れたい場合には手作業では大変です。そこで、今回と次回の2回に分けてPhotoshop CSで自動的にタイムスタンプを表示するスクリプトを載せます。
 画像はレイヤーが追加できるモードにしてください。その後、以下のスクリプトをテキストエディタで入力し保存してください。保存するファイル名の拡張子はjsにしてください。timestamp.jsといった感じにつけておけば良いでしょう。

function timeStamp()
{
docObj = activeDocument;
dateObj = new Date();
y = dateObj.getFullYear();
m = dateObj.getMonth() + 1;
d = dateObj.getDate();
str = "作成日:"+y+"年"+m+"月"+d+"日"; // 表示する文字列
layObj = docObj.artLayers.add();
layObj.kind = LayerKind.TEXT;
layObj.textItem.font = "Osaka"; // 書体(フォント)を指定
layObj.textItem.justification = Justification.RIGHT; // 行揃え指定
layObj.textItem.contents = str;
w = parseFloat(docObj.width); // ページの横幅
h = parseFloat(docObj.height); // ページの縦幅
x = parseFloat(layObj.bounds[2]); // テキストの右座標
y = parseFloat(layObj.bounds[3]); // テキストの下座標
offsetX = 20; // 右側の余白
offsetY = 5; // 下側の余白
layObj.translate(w - x - offsetX, h - y - offsetY);
}
function setUnit(unt){ preferences.rulerUnits = unt; }
function getUnit(){ return preferences.rulerUnits; }

saveUnit = getUnit();
setUnit(Units.PIXELS); // 幅を指定する場合の単位
timeStamp(); // タイムスタンプ
setUnit(saveUnit);


 実行すると「作成日:2009年4月20日」という文字が表示されます。テキストレイヤーになるので、後から文字ツールでフォントやサイズなどを変更することができます。
 表示される文字を変更するには

str = "作成日:"+y+"年"+m+"月"+d+"日"; // 表示する文字列

 の行を変更します。日付を入れずにCopyright Digital Creatorsにするには以下のように変更します。

str = "Copyright Digital Creators"; // 表示する文字列

 日付が決まってしまっている場合には以下のようにします。

str = "作成日:2005年5月5日"; // 表示する文字列

 書体(フォント)は

layObj.textItem.font = "Osaka"; // 書体(フォント)を指定

 の"Osaka"の部分にフォント名を指定します。
 タイムスタンプの文字列の余白は(ドキュメント右下からの余白になります)

offsetX = 20; // 右側の余白
offsetY = 5; // 下側の余白

 の2行の数値を変更してください。単位はピクセルです。
 今回はタイムスタンプのみでしたが、これを応用すると全てのドキュメントに、特定の文字列を表示させる(コピー禁止とか)ことが簡単にできます。次回は開かれている全ドキュメント、特定のフォルダ内にあるPSDファイルにタイムスタンプを付けるスクリプトを紹介します。




[サンプルをダウンロード]