用于向每个给定页面添加页面的 InDesign 脚本



我有一个~400页的InDesign,需要一个相当简单的脚本,为每个现有页面添加一个页面(所以:p1 + 1; p2 + 1; p3 + 1 ...(。此外,添加的页面应包含两个文本框架。我正在使用 InDesign CS6 和 JS。

我有一些台词,但不是全部:

// the start
var myDocument = app.activeDocument;
// the loop
for(var i = 0; i < myDocument.pages.length; i++) {}
// text frames
var rect = myDocument.pages.item(0).rectangles.add();
var rect2 = myDocument.pages.item(1).rectangles.add();
var gb = [125.891, 25, 230.458, 88];
var gb2 = [125.891, 94, 230.458, 157];
rect.geometricBounds = gb;
rect2.geometricBounds = gb2;

我能想到的有两种类似的方法。循环页数时间并在正确的位置添加页面,或者添加末尾的所有页面并使用 move(( 将它们移动到正确的位置。试试这个:

var myDocument = app.activeDocument;
var addPageLocation = 0;  
var docLength = myDocument.pages.length;  
// every time yo add a page pages.length will increase
// the loop
for(var i = 0; i < docLength; i++) {
myDocument.pages.add(LocationOptions.AFTER, myDocument.pages[addPageLocation] );
//you will need to add text frame as rectangles are used for graphics or pdfs
var tf = myDocument.pages[addPageLocation+1].textFrames.add();
var tf2 = myDocument.pages[addPageLocation+1].textFrames.add();
var gb = [125.891, 25, 230.458, 88];
var gb2 = [125.891, 94, 230.458, 157];
tf.geometricBounds = gb;
tf2.geometricBounds = gb2;
//get the new page location including the page which was added
addPageLocation = addPageLocation+2;
}

最新更新