Adode InDesign ExtendScript: создание элемента как дочернего элемента другого

Я ищу способ в Adobe InDesign CS5+ сделать один элемент дочерним элементом другого (аналогично тому, что вы можете сделать с помощью «Правка» -> «Вставить в»).

К сожалению, я не могу использовать параметр app.pasteInto, потому что в моем скрипте окно не видно.

Есть ли другой способ сделать это?

С уважением,

Питер


person Pieter Claerhout    schedule 30.07.2013    source источник


Ответы (1)


Если объект является PageItem и поддерживает метод contentPlace(), вы можете поместить внутрь него другой объект (документацию). Например, если на странице есть два прямоугольника и вы хотите поместить один прямоугольник внутри другого, вы можете использовать что-то вроде этого:

var doc = app.activeDocument;

var page = doc.pages[0];

var rect = page.rectangles[0];
var rect2 = page.rectangles[1];

rect.contentPlace([rect2]);     // Content place duplicates the item,
rect2.remove();                 // so it needs to be removed after moving it.
person Josh Voigts    schedule 31.07.2013