Сервер Adobe InDesign CS5 JavaScript: получить прямоугольник по тегу XML - PullRequest
1 голос
/ 26 мая 2011

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

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));

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

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

1 Ответ

1 голос
/ 26 мая 2011

Я не знаю метода 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));

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

...