用于向每个给定页面添加页面的 InDesign 脚本
InDesign script to add a page to every given page
我有一个约 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;
}
我有一个约 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;
}