Adobe InDesign CS5服务器JavaScript:通过XML标记获取矩形


Adobe InDesign CS5 Server JavaScript: Get rectangle by XML tag

当前设置:

Adobe InDesign Server CS5通过PHP SOAP通过ExtendeScript编写脚本

问题:

我目前正在使用以下代码将图像文件放入矩形中:

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

这很好;CCD_ 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));

希望这能有所帮助!