今回は、InDesign CS2でフォルダ内にある全てのPDFファイルをページ上に割り付けるものです。割り付けるPDFが複数ページある場合には、最初の1ページが配置されます。
以下のスクリプトは、あらかじめ割り付けるInDesignドキュメントを用意しておく必要があります。実行すると自動的にページを追加しながらPDFが割り付けられます。
以下のスクリプトは、あらかじめ割り付ける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++;
}
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
-----------
生徒B「自殺してやる!」
E先生「自殺するなら宇和島総合病院の前にしろ」
-----------
生徒C「自殺してやる!」
教諭D「無理するな。200年後にしろ。必ず死ねる」
-----------
生徒A「自殺してやる!」
A総理「弱い人間はいらないから死にたまえ。強いものだけが生き残るのが美しい日本なのだ」

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++;
}
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
-----------
生徒B「自殺してやる!」
E先生「自殺するなら宇和島総合病院の前にしろ」
-----------
生徒C「自殺してやる!」
教諭D「無理するな。200年後にしろ。必ず死ねる」
-----------
生徒A「自殺してやる!」
A総理「弱い人間はいらないから死にたまえ。強いものだけが生き残るのが美しい日本なのだ」

- 改訂新版 JavaScript 例文活用辞典
- 古籏 一浩
- 技術評論社 2006-10-20