Я работаю над сценарием, в котором я беру дизайн визитной карточки и использую его для создания листа бумаги с десятью карточками, чтобы соответствовать шаблону для печати временных карточек. Сложная часть здесь - кровотечения; они будут перекрываться посередине, поэтому мне нужно сделать обтравочные маски для каждого из них.
Я придумал систему, в которой я сделал кадры, которые стали обтравочными масками, продублировал и переместил карточки туда, где они должны быть, а затем примерно сделал следующее:
dupCard[i].select();
app.cut();
frameGroupFront[i].select();
app.pasteInto();
Это прекрасно работает. Но поскольку это немного ресурсоемко, я попытался скрыть рабочий файл при создании и использовать workFile.windows.add(); в конце, как я делал в прошлом. Но когда окна нет, select() не работает! Я получаю сообщение об ошибке 90886, указывающее, что «окна документов не открыты».
Как я могу выбрать нужные элементы, чтобы их можно было вырезать и вставлять без видимого окна? Если это невозможно, есть ли альтернативное решение проблемы?
РЕДАКТИРОВАТЬ:
Меня попросили предоставить пример сценария, поэтому вот самый простой пример, который я могу предоставить:
var newPage = app.documents.add();
var myRectangle = newPage.rectangles.add({geometricBounds:[1, 1, 5, 5]});
var myRectangle2 = newPage.rectangles.add({geometricBounds:[1, 1, 3, 3]});
myRectangle.select();
app.cut();
myRectangle2.select();
app.pasteInto();
Этот скрипт работает. Но возьмите первую строку и вместо этого выполните app.documents.add(false), и это не сработает, потому что окно документа не открыто. В этом примере я хотел бы получить один прямоугольник внутри другого без видимого окна.