Illustrator CS2/CS3/CS4で指定したフォルダ内の画像を全て自動配置する(画像カタログ)スクリプトです。以前、Illustrator 10で似たようなサンプルを掲載しましたが、CS2以降は少し違う処理を行なう必要があります。
以下のスクリプトを実行するとフォルダ内にあるJPEG, PNG, PSD画像を自動的に配置します。1ページに収まらない場合には自動的に新規書類を作成し配置していきます。
baseX = 100; // 基準X座標
baseY = 700; // 基準Y座標
startX = 0; // 開始位置(横)
startY = 0; // 開始位置(縦)
w = 60; // 横幅
h = 40; // 縦幅
maxCountX = 7; // 横の最大枚数
maxCountY = 11; // 縦の最大枚数
boxHeight = 15; // 行間
x = startX;
y = startY;
cntX = 0;
cntY = 0;
docObj = app.documents.add();
foldername = Folder.selectDialog("フォルダを指定してください");
if (foldername)
{
ext = ["*.jpg","*.png","*.psd"];
for (var j=0; j<ext.length; j++)
{
fileList = foldername.getFiles(ext[j]);
layoutImage(fileList);
}
}
function layoutImage(fileList)
{
for (i=0; i<fileList.length; i++)
{
pItem = docObj.placedItems.add();
fs = new File(fileList[i].fsName);
pItem.file = fs;
pItem.width = w;
pItem.height = h;
//pItem.embed();
pItem.position = new Array(baseX + x,baseY - y);
x = x + w;
cntX++;
if (cntX >= maxCountX)
{
cntX = 0;
x = startX;
y = y + h + boxHeight;
cntY++;
if (cntY >= maxCountY)
{
cntY = 0;
y = startY;
docObj = app.documents.add();
}
}
}
}
画像の表示幅は
w = 60; // 横幅
h = 40; // 縦幅
の値を変更してください。単位はポイント(pt)です。また、何枚並べるかは以下の行の値を変更してください。
maxCountX = 7; // 横の最大枚数
maxCountY = 11; // 縦の最大枚数
画像をリンクではなく埋め込みたい場合には
//pItem.embed();
の先頭の//を削除して実行してください。