Windows XP
Adobe InDesign CS3
選択したフォルダ内のAIファイルをInDesignへ1ページに1ファイルずつ配置するスクリプトです。
PowerPointで資料を作る際に、Illustratorで前ページ作り、PNGに書き出してマクロでPowerPointに張り込む作業をしています。そのPowerPontの資料のPDF版を綺麗に作るために使用しています。
配置するAIファイルは、アートボードのサイズをInDesignでのページサイズと同じにしてください。AIファイルのアートボードのサイズとInDesignのページサイズが異なると正しく配置できません。また、AIファイルのサイズはすべて同一にしてください。
スクリプトの中でページサイズを入力します。単位はセンチで、必ず半角数字で入力してください。単位は不要です。特にエラー処理等はしていませんので、ご注意ください。
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // 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); } }