Расположение страниц до и после листоподбора Итак, рассмотрим скрипт (листинг 4.29).

Рис. 4.4. Расположение страниц до и после листоподбора Итак, рассмотрим скрипт (листинг 4.29).

Листинг 4.29. Выполнение листоподбора

myDoc = app.activeDocument myPages = myDoc.pages; if (myPages.length % 4 != 0) {

alert("Количество страниц в документе не кратно четырем!"); exit () ;

}

if (myDoc.sections.length > 1) {

alert("В документе не должно быть дополнительных секций”); exit();

app.scriptPreferences.userlnteractionLevel = 'Ь UserlnteractionLevels.neverlnteract; myName = myDoc.name;

myTN = myDoc. filePath + "/" + myName. split (". indd") [OJ + "_booklet” + 'b ".indt"; myDoc.save(File(myTN),true); myDoc.close(); app.open(File(myTN));

app.scriptPreferences.userlnteractionLevel = 'b UserlnteractionLevels.interactWithAll;

myDoc.documentPreferences.allowPageShuffie = false;

for (i=0; myPages.length > i; i++) {

origSection = myPages[i].appliedSection; origNumbering = origSection.pageNumberStyle; origSection.pageNumberStyle == PageNumberStyle.arabic; sectName = origSection.name; pageName = myPages[i].name;

if (sectName != ""){

pageName = pageName.split(sectName) [1]; pageNo = pageName.tolnteger() ;

}

newSection = myDoc.sections.add({pagestart:myDoc.pages[i], 'b continueNumbering:false, pageNumberStart:pageNo, 'b pageNumberStyle:origNumbering, marker: origSection.marker, name: 'b origSection.name}); origSection.pageNumberStyle = origNumbering;

}

myDocument.documentPreferences.allowPageShuffie = true;

for (i=0; (myPages.length/2)>i; i++)( if (i % 2=0) {

myDoc.pages[myPages.length - 1],move(LocationOptions.before, 'b myDoc.pages[i*2], BindingOptions.leftAlign);

} else {

myDoc.pages[myPages.length - 1].move(LocationOptions.after, myDoc.pages[i*2], BindingOptions.rightAlign);

}

Сначала проверяем количество страниц в публикации. Если оно не кратно четырем (это необходимое условие для получения полных двусторонних разворотов), выводим предупреждение и останавливаем скрипт:

if (myPages.length % 4 != 0) exit()

Если количество страниц корректное, проверяем, чтобы в публикации не было секций. Для чего это нужно? Как известно, существует единственный способ создания буклета с сохранением нумерации в самой публикации, не прибегая к переводу в PDF и другим альтернативным вариантам. Состоит он в установке начала секции для каждой страницы публикации - только в таком случае ее номер не будет меняться при дальнейшем изменении ее положения в документе. А теперь представьте ситуацию, что в публикации секции уже есть: как в таком случае быть? Кому отдавать предпочтение? Застрахуемся во избежание подобных ситуаций, предоставляя пользователю право самому решить, как поступить в данном случае.

Итак, если все проверки пройдены успешно, приступаем к основным действиям. Поскольку в реальной работе случаи встречаются различные, чтобы скрипт работал на полном автомате, не отвлекаясь на выдачу предупреждений и других диалоговых окон, требующих реакции пользователя, запретим InDesign выводить любые предупреждения арр.scriptPreferences.userInteractionLevel = 'Ь UserlnteractionLevels.neverlnteract;


⇐ вернуться назад | | далее ⇒