Adobe InDesign CS5 Server JavaScript:通过XML标记获取矩形

问题描述

| 当前设置: 通过PHP SOAP通过ExtendScript编写脚本的Adobe InDesign Server CS5 问题: 我目前正在使用以下代码将图像文件放入矩形中:
 frame     =   doc.rectangles[0];
 imgList   =   frame.place(new File(img));
这很好用;将“ 1”文件按预期放置到矩形中。但是,这仅指文档中的第一个矩形:如果我在文档中有两个矩形,则图像将放置在最后创建的矩形中。 我理想地希望能够通过其XML标签引用该矩形-类似于:
frame     =   doc.getRectangleByTag(\'Pic\'); // <Pic> being the name of the XML tag
imgList   =   frame.place(new File(img));
是否有人对如何实现这一目标有任何建议?我意识到这是一个基本问题,但是经过数小时的搜索后,我并没有感到高兴。 非常感谢     

解决方法

我没有一个\'
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));
希望这可以帮助!