フォルダ内のPDFを読み込んで全て割り付ける

今回はInDesign CS2でフォルダ内にある全てのPDFファイルをページ上に割り付けるものです。割り付けるPDFが複数ページある場合には最初の1ページが配置されます。
以下のスクリプトは、あらかじめ割り付けるInDesignドキュメントを用意しておく必要があります。実行すると自動的にページを追加しながらPDFが割り付けられます。

folderObj = Folder.selectDialog("読み込むPDFがあるフォルダを選択してください");
docObj = app.activeDocument;
fileList = folderObj.getFiles("*.pdf");
for (i=0; i<fileList.length; i++)
{
fileObj = new File(fileList[i].fsName);
pageObj = docObj.pages.add();
txtObj = pageObj.textFrames.add();
txtObj.visibleBounds = ["1cm","2cm","27cm","20cm"];
txtObj.place(fileObj);
}

割り付けるPDFのテキストフレームのサイズは以下の部分で調整します。

txtObj.visibleBounds = ["1cm","2cm","27cm","20cm"];

パラメータの順番は上、左、下、右になります。
ページ数を追加して割り付けるのではなく、指定したページから割り付けるのであれば以下のスクリプトになります。

folderObj = Folder.selectDialog("読み込むPDFがあるフォルダを選択してください");
docObj = app.activeDocument;
fileList = folderObj.getFiles("*.pdf");
startPage = eval(prompt("レイアウト開始ページ数は?", 1));
startPage--;
for (i=0; i<fileList.length; i++)
{
fileObj = new File(fileList[i].fsName);
pageObj = docObj.pages[startPage];
txtObj = pageObj.textFrames.add();
txtObj.visibleBounds = ["1cm","2cm","27cm","20cm"];
txtObj.place(fileObj);
startPage++;
}

上記スクリプトは見開きページの場合、うまく動作しません。以下のスクリプトは偶数ページ、奇数ページに応じて配置する位置を変えるものです。ただし、先頭ページが1ページだと、うまく配置されないので手動で調整する必要があります。

folderObj = Folder.selectDialog("読み込むPDFがあるフォルダを選択してください");
docObj = app.activeDocument;
fileList = folderObj.getFiles("*.pdf");
startPage = eval(prompt("レイアウト開始ページ数は?", 1));
startPage--;
for (i=0; i<fileList.length; i++)
{
fileObj = new File(fileList[i].fsName);
pageObj = docObj.pages[startPage];
txtObj = pageObj.textFrames.add();
if (startPage & 1)
{ // 奇数ページの場合
txtObj.visibleBounds = ["1cm","2cm","27cm","20cm"];
}else{ // 偶数ページの場合
txtObj.visibleBounds = ["1cm","23cm","27cm","41cm"];
}
txtObj.place(fileObj);
startPage++;
}



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