連番ファイル名に対応したテキストレイヤーを作成する(2)

■プログラム説明(ソースコード説明)
 指定した番号で連番(連番以外も可能)ファイルを作成し、そのファイル名をテキストレイヤーとして生成します。これはWebサイト制作などで未定の画像をとりあえず入れておく場合などに利用することができます。保存先フォルダは

saveFolder = "/result/";

の/result/を変更します。この場合はルートにあるresultフォルダになります。日本語フォルダ名も利用できますが、安全に動作させたいのであれば起動ディスク上で英語と数字の組み合わせにしてください。
 元のファイルを作成しておきます。このようにすることで画像のサイズなどをプログラムで変更する必要がなくなります。元のファイルのある場所は

motoFile = new File("/moto.psd");

で指定します。この場合にはルートにあるmoto.psdファイルになります。フォルダ同様に安全に動かすのであれば日本語ファイル名は避けるのがよいでしょう。
 生成する番号は

for(i=1; i<=12; i++)

で指定します。1が最初の番号で12が最後の番号になります。最初の番号は最後の番号よりも等しいか小さくないといけません。ここでは3桁(000〜999)まで対応しています。
 保存するファイル名=生成する番号付きファイル名は

saveName = "ABC-"+num+"-DEF";

 で指定します。これは

ABC-001-DEF
ABC-002-DEF
ABC-003-DEF
:
ABC-012-DEF

 という名前になります。ABC-と-DEFの部分を好きな文字にすれば任意の番号付きファイル、テキストを生成することができます。文字のフォントやサイズ、位置などもついでに指定することができます。書体は

textFont = "HiraKakuPro-W6";

 のように英語名での指定になります。この場合には「平成角ゴPro W6」になります。この書体名は

layRef.textItem.font = textFont;

とするとテキストレイヤー全体の文字の書体を設定できます。1文字ごとに書体を変更することはできません。文字のサイズは

layRef.textItem.size = 24;

のようにsizeプロパティに設定します。文字の色はカラーオブジェクトを生成し色を定義しておきます。

textColor = new SolidColor();
textColor.rgb.red = 115;
textColor.rgb.green = 80;
textColor.rgb.blue = 40;

 この場合は、赤の輝度が115、緑の輝度が80、青の輝度が40になります。設定したら

layRef.textItem.color = textColor;

としてcolorプロパティに設定すれば文字の色が変わります。
 最後にファイル名を指定して保存します。ここで、保存するファイル形式はGIFになります。


■ソースコード
setUnit(Units.PIXELS); // 単位設定

saveFolder = "/result/";
motoFile = new File("/moto.psd");

textFont = "HiraKakuPro-W6"; // 書体
textSize = 24; // 文字サイズ(ポイント)
textDX = 120; // 表示X位置(オフセット)
textDY = 220; // 表示Y位置(オフセット)
textColor = new SolidColor();
textColor.rgb.red = 115;
textColor.rgb.green = 80;
textColor.rgb.blue = 40;

for(i=1; i<=12; i++)
{
num = "00"+i;
num = num.substring(num.length-3,4);
saveName = "ABC-"+num+"-DEF";
open(motoFile);
layObj = activeDocument.artLayers;
layRef = layObj.add();
layRef.kind = LayerKind.TEXT;
layRef.textItem.contents = saveName;
layRef.textItem.font = textFont;
layRef.textItem.size = textSize;
layRef.textItem.color = textColor;
layRef.translate(textDX,textDY);
saveGIF(saveFolder+saveName+".gif");
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}

function saveGIF(gifFileObj)
{
var fileObj = new File(gifFileObj);
var gifOpt = new GIFSaveOptions();
gifOpt.colors = 256;
gifOpt.dither = Dither.NONE;
gifOpt.interlacted = true;
gifOpt.matte = MatteType.WHITE;
gifOpt.palette = Palette.EXACT;
gifOpt.preserveExactColors = false;
gifOpt.transparency = false;
activeDocument.saveAs(fileObj, gifOpt, true, Extension.LOWERCASE);
}

function setUnit(unt) { preferences.rulerUnits = unt; }
function getUnit() { return preferences.rulerUnits; }


■使い方&注意点
 ファイルメニューからスクリプトで実行するスクリプトファイルを選択するだけです。

■実際のスクリプトをダウンロード(sample.js.zip)