Автоматически — никак.
Более того, некоторое время назад при попытке заказать соответствующий плагин, обнаружилось, что и такой возможности не подразумевает Adobe InDi SDK.
var myTF = app.activeDocument.selection[0].parentStory.texts[0].parentTextFrames;
for (i=0;i<myTF.length;i++){
myTF[i].label = "MainText";
}
var myPages = app.activeDocument.pages;
for (i=0;i<myPages.length-1;i++){
try{
myPages[i].textFrames.item("NextPageFirstWord").contents = myPages[i+1].textFrames.item("MainText").words[0].contents;
}
catch (e){
myPages[i].textFrames.add({geometricBounds:[250,20,260,70], appliedObjectStyle:app.activeDocument.objectStyles.item("NextPageFirstWord"), contents: myPages[i+1].textFrames.item("MainText").words[0].contents, label:"NextPageFirstWord"});
}
}
var GBLeft = [250,20,260,70];
var GBRight = [250,15,260,70];
var myGB = new Array();
var myTF = app.activeDocument.selection[0].parentStory.texts[0].parentTextFrames;
for (i=0;i<myTF.length;i++){
myTF[i].label = "MainText";
}
var myPages = app.activeDocument.pages;
for (i=0;i<myPages.length-1;i++){
try{
myPages[i].textFrames.item("NextPageFirstWord").contents = myPages[i+1].textFrames.item("MainText").words[0].contents;
}
catch (e){
if (i%2 == 0){myGB = GBRight;} else {myGB = GBLeft;}
myPages[i].textFrames.add({geometricBounds:myGB, appliedObjectStyle:app.activeDocument.objectStyles.item("NextPageFirstWord"), contents: myPages[i+1].textFrames.item("MainText").words[0].contents, label:"NextPageFirstWord"});
}
}
app.activeDocument.textFrames.item("NextPageFirstWord").remove();
Если последнее слово имеет перенос, то во фрейм оно вставляется полностью. Возможно ли вставлять только вторую часть?
var GBLeft = [287,0,297,90];
var GBRight = [287,120,297,205];
var myGB = new Array();
var myTF = app.activeDocument.selection[0].parentStory.texts[0].parentTextFrames;
for (i=0;i<myTF.length;i++){
myTF[i].label = "MainText";
}
var myPages = app.activeDocument.pages;
//************Изменения начинаются отсюда************//
for (i=0;i<myPages.length-1;i++){
var myText = String(myPages[i+1].textFrames.item("MainText").texts[0].contents);
var myWords = myText.split(" "); //Признак отдельного слова - обычный пробел
try{
myPages[i].textFrames.item("NextPageFirstWord").contents = myWords[0];
}
catch (e){
if (myPages[i].side == PageSideOptions.RIGHT_HAND){myGB = GBRight;} else {myGB = GBLeft;}
myPages[i].textFrames.add({geometricBounds:myGB, appliedObjectStyle:app.activeDocument.objectStyles.item("NextPageFirstWord"), contents: myWords[0], label:"NextPageFirstWord"});
}
//Контроль неразрывных пробелов и слов за ними, и знаков припинания, попавших во фрейм
app.findGrepPreferences = app.changeGrepPreferences = null;
app.findGrepPreferences.findWhat = "\\s.+";
myPages[i].textFrames.item("NextPageFirstWord").changeGrep();
app.findGrepPreferences.findWhat = "[[:punct:]]";
myPages[i].textFrames.item("NextPageFirstWord").changeGrep();
}
Проще.А так не проще?