毎日のDTPを少しだけ便利にする道具たち。同じ作業の繰り返しやルーチンワーク。本当はPCの方が得意な仕事って、意外とたくさんある。スクリプトなど簡単なツールで、毎日をちょっと便利にしていこう。
JavaScript for Adobe InDesign

フォルダ内のAIファイルを
1ページに1ファイルずつ配置する

Windows XP

Adobe InDesign CS3

フォルダ内のAIファイルを
1ページに1ファイルずつ配置する

更新日:2011年6月3日(金)
制作環境:Windows XP・Adobe InDesignCS3

選択したフォルダ内のAIファイルをInDesignへ1ページに1ファイルずつ配置するスクリプトです。

PowerPointで資料を作る際に、Illustratorで前ページ作り、PNGに書き出してマクロでPowerPointに張り込む作業をしています。そのPowerPontの資料のPDF版を綺麗に作るために使用しています。

配置するAIファイルは、アートボードのサイズをInDesignでのページサイズと同じにしてください。AIファイルのアートボードのサイズとInDesignのページサイズが異なると正しく配置できません。また、AIファイルのサイズはすべて同一にしてください。

スクリプトの中でページサイズを入力します。単位はセンチで、必ず半角数字で入力してください。単位は不要です。特にエラー処理等はしていませんので、ご注意ください。

c001_IDCS3_AIplacePPT.zip(2.28KB)
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// IDCS3_AIplace for PPT_folder.jsx
// フォルダ内のAIファイルを1ページに1ファイルずつ配置する
//
// 2011.06.03  ver.1.0
//
// System requirements : InDesign CS3 5.0.4 Windows XP SP3
// Copyright(c) 2011 Kuro
// http://www3.ocn.ne.jp/~art_mac/
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

app.pdfPlacePreferences.pdfCrop=PDFCrop.CROP_TRIM;

folderObj = Folder.selectDialog("配置するIllustratorファイルが入っているフォルダを選択してください");

uDlg = new Window("dialog","サイズ指定",[100,100,400,310]);
uDlg.okBtn = uDlg.add("button",[50,120,50+95,120+20], "OK", { name:"ok"});
uDlg.cancelBtn = uDlg.add("button", [150,120,150+95,120+20], "Cancel", {name: "cancel"});
uDlg.wsize = uDlg.add("edittext",[40,55,40+50,55+25]);
uDlg.hsize = uDlg.add("edittext",[115,55,115+50,55+25]);
uDlg.sText = uDlg.add("statictext",[25,25,350,50], "配置画像のサイズ(cm)を入力してください。");
uDlg.sText = uDlg.add("statictext",[25,60,25+25,100], "横:");
uDlg.sText = uDlg.add("statictext",[100,60,100+25,100], "縦:");
  
uDlg.show();

var pagew = uDlg.wsize.text + "cm";
var pageh = uDlg.hsize.text + "cm";

pageObj = app.documents.add();
pageObj.documentPreferences.pageWidth = pagew;
pageObj.documentPreferences.pageHeight = pageh;
app.activeDocument.documentPreferences.facingPages = false;// 見開きページを解除

var myDocument = app.activeDocument;

fileList = new Array;
fileList = folderObj.getFiles("*.ai");

txtObj = []

for (i=0; i<fileList.length; i++){
 aiObj = File(fileList[i]);
 pagelength = myDocument.pages.length;
 txtObj[i] = myDocument.pages[pagelength-1].textFrames.add();
 txtObj[i].visibleBounds = ["0cm","0cm",pageh,pagew];
 txtObj[i].place(aiObj);
 
 if(i==fileList.length-1){
  // app.activeDocument.documentPreferences.facingPages = false;// 見開きページを設定
  alert("処理が完了しました。スクリプトを終了します。");

  }else{
  myDocument.pages.add(LocationOptions.AT_END);
  }
 }
inserted by FC2 system