Я настроил документ, который содержит идентичные структуры, включая текстовое поле с меткой «pageNumber» для хранения переменной на основе номера страницы, пустой прямоугольник для получения файла иллюстратора и текстовое поле, заполненное заполнителемtext.
В конце концов, я буду использовать слияние данных для создания гораздо более длинного документа, состоящего из идентично структурированных страниц, но содержащих персонализированные данные.
(я создал zip-файл, содержащий этиэлементы, на случай, если будет полезно посмотреть, что я тестирую) (http://arthousemedia.com/files/PageNumbers.zip)
jsx, который я создал, работает в некоторой степени.Когда я запускаю его, появляется пара предупреждений, которые показывают, что я создал правильные переменные) Но вместо того, чтобы разместить pageNumber-p1.ai на первой странице и pageNumber-p2 на второй странице, на какой бы странице я ни был «сфокусирован»его графическое изображение размещается дважды на странице 1. Судя по всему, мне не удается зацикливаться на страницах.Не уверен.
Любой ваш совет будет полезен.Спасибо.
var doc = app.activeDocument,
pagesLength = doc.pages.length;
for (var i = 0; i < pagesLength; i++) {
var myLabel = "pageNumber",
myPage = app.properties.activeWindow && app.activeWindow.activePage,
myTextFrames = myPage.textFrames.everyItem().getElements(myLabel).slice(0),
l = myTextFrames.length,
myVariable
alert(myVariable);
while (l--) {
if (myTextFrames[l].label != myLabel) continue;
myVariable = myTextFrames[l].contents;
break;
}
var thisState = "~/Documents/PageNumbers/pageNumber-" + myVariable + ".ai";
alert(thisState);
var rect = doc.pages[i].rectangles[0];
try {
rect.place(File(thisState));
rect.fit (FitOptions.CONTENT_TO_FRAME);
rect.fit (FitOptions.PROPORTIONALLY);
rect.fit (FitOptions.CENTER_CONTENT);
}
catch(e){
alert(e);
};
}