遍历InDesign文件,在每个页面上放置图形

时间:2018-12-16 18:05:14

标签: javascript scripting adobe-indesign

我已经建立了一个包含相同结构的文档,包括一个标记为“ pageNumber”的文本框,用于容纳基于页码的变量;一个用于接收插图文件的空矩形;以及一个填充有占位符的文本框。文字。

最终,我将使用数据合并来创建更长的文档,该文档由结构相同的页面组成,但包含个性化数据。

((我创建了一个包含这些元素的zip文件,以防查看正在测试的内容有帮助)(http://arthousemedia.com/files/PageNumbers.zip

我创建的jsx在一定程度上有效。当我运行它时,有几个警报表明我已经创建了正确的变量。但是,不要将pageNumber-p1.ai放在第一页上并将pageNumber-p2放在第二页上,无论我将其重点放在哪一页上将其图形放置在第1页上两次。显然,我没有成功遍历页面。不确定。

您的任何建议都会有所帮助。谢谢。

var doc = app.activeDocument,
pagesLength = doc.pages.length; 

for (var i = 0; i < pagesLength; i++) {

    var myLabel = "pageNumber",
    myPage = app.properties.activeWindow && app.activeWindow.activePage,  
    myTextFrames = myPage.textFrames.everyItem().getElements(myLabel).slice(0),  
    l = myTextFrames.length,  
    myVariable

    alert(myVariable);

    while (l--) {  
        if (myTextFrames[l].label != myLabel) continue;  
        myVariable = myTextFrames[l].contents;  
        break; 
    } 

   var thisState = "~/Documents/PageNumbers/pageNumber-" + myVariable + ".ai";

   alert(thisState);

   var rect = doc.pages[i].rectangles[0];      

   try {  
       rect.place(File(thisState));  
       rect.fit (FitOptions.CONTENT_TO_FRAME);
       rect.fit (FitOptions.PROPORTIONALLY);
       rect.fit (FitOptions.CENTER_CONTENT);
   }  

   catch(e){  
       alert(e);  
   };

}

0 个答案:

没有答案