今回はファイル名に対応するEPSファイルをPSDファイルに配置するスクリプトです。ABC.psdファイルにはABC.epsという名前のEPS画像をラスタライズして配置します。単純にラスタライズしてペーストしているだけなので、位置の調整を行いたい場合には以前に掲載したスクリプトと組み合わせてください。
MacOS XでPhotoshop CSではフォルダ名またはファイル名に日本語が含まれると正しく処理されない可能性があります。
使い方はスクリプトを実行しPSDファイルがあるフォルダとEPSファイルがあるフォルダを選択するだけです。なお、PSDファイルは保存され内容が書き換えられてしまうので、安全のため複製を作っておくのがよいでしょう。(ちなみに失敗してもペーストしたレイヤーを削除すれば良いだけですが)
epsOpt = new EPSOpenOptions();
epsOpt.antiAlias = true;
epsOpt.constrainProportions = false;
epsOpt.width = 256;
epsOpt.height = 192;
epsOpt.mode = OpenDocumentMode.RGB;
epsOpt.resolution = 72;
psdFolderObj = Folder.selectDialog("PSDファイルがあるフォルダを選択");
if (psdFolderObj) {
epsFolderObj = Folder.selectDialog("対応するEPSファイルがあるフォルダを選択");
if (epsFolderObj) {
psdFileList = psdFolderObj.getFiles("*.psd");
for (i=0; i<psdFileList.length; i++) {
temp = psdFileList[i].name;
filename = temp.substring(0, temp.lastIndexOf("."));
epsName = epsFolderObj+"/"+filename+".eps";
flag = true;
try { open(new File(epsName), epsOpt); } catch(e) { flag = false }
if (flag) {
activeDocument.selection.selectAll();
activeDocument.selection.copy(true);
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
open(new File(psdFileList[i]));
activeDocument.paste();
activeDocument.close(SaveOptions.SAVECHANGES);
}
}
}
}
ラスタライズするサイズは以下の2行で指定しています。
epsOpt.width = 256;
epsOpt.height = 192;
この2行を削除するとIllustratorで制作したサイズが適用されます。サイズが固定されていない、したくない場合には削除してください。
ラスタライズする解像度は以下の行で指定します。
epsOpt.resolution = 72;
ドキュメントのカラーモードはRGBにしていますがCMYKにしたい場合には
epsOpt.mode = OpenDocumentMode.RGB;
を
epsOpt.mode = OpenDocumentMode.CMYK;
にしてください。