Adobe InDesign CS5 Server JavaScript: получение прямоугольника по тегу XML

Текущая настройка:

Adobe InDesign Server CS5 со сценарием через ExtendScript через PHP SOAP

Проблема:

В настоящее время я помещаю файл изображения в прямоугольник, используя следующий код:

 frame     =   doc.rectangles[0];
 imgList   =   frame.place(new File(img));

Это отлично работает; файл img помещается в прямоугольник, как и ожидалось. Однако это относится только к первому прямоугольнику в документе: если у меня есть два прямоугольника в документе, изображение помещается в последний созданный прямоугольник.

В идеале я хотел бы иметь возможность ссылаться на прямоугольник по его тегу XML - что-то вроде:

frame     =   doc.getRectangleByTag('Pic'); // <Pic> being the name of the XML tag
imgList   =   frame.place(new File(img));

Есть ли у кого-нибудь какие-либо советы о том, как этого можно достичь? Я понимаю, что это рудиментарный вопрос, но после нескольких часов поиска я не нахожу радости.

Большое спасибо


person kaese    schedule 26.05.2011    source источник


Ответы (1)


Я не знаю метода «getRectangleByTag». Однако, если вы знаете свойство «id» или «name» прямоугольника, который вы ищете, вы можете просмотреть прямоугольники в документе и найти его следующим образом:

var rectangles = doc.rectangles;
var rectID; //the ID you're looking for
var myRectangle;

for(var i = 0; i < rectangles.length; i++){
   if(rectangles[i].id == rectID){
      myRectangle = rectangles[i];
   }
}

myRectangle.place(new File(img));

Надеюсь это поможет!

person lhan    schedule 26.05.2011