2016-01-21 72 views
0

我正在嘗試使用javascript更新Illustrator文件。我有一個腳本,將以所需的方式修改打開的文件(實際上只是文本查找/替換,但文本是在Illustrator數據中編碼的)。問題是我有數百個這樣的文件,我想在目錄中以相同的方式進行修改。有沒有辦法讓我做到這一點,而不必打開這些文件中的每一個?如何在目錄中的所有文件上運行Illustrator JavaScript?

我想要: 1.有一種方法可以修改現有的javascript以從目錄中讀取並在後臺加載文件,處理它們,保存並關閉。 2.我可以編寫一個Node.js腳本來包裝現有的Illustrator JavaScript,但我不知道如何讓它識別「應用程序」對象,並以與在Illustrator中打開時相同的方式讀取該文件。

感謝您的幫助!

編輯:這裏的功能腳本(只有

function FindAndReplaceScript_AllOpenDocuments(){  
     for(var i=app.documents.length -1; i > -1; i--){  
     app.documents[i].activate(); 
     var aDoc = app.documents[i]; 

     var searchString = /OLDTEXT/gi;  
     var replaceString = 'NEWTEXT';  

     var theTF = aDoc.textFrames;  
     if (theTF.length > 0) {  
      for (var j = 0 ; j <theTF.length; j++) {  
       var aTF = theTF[j];  
       var newString = aTF.contents.replace(searchString, replaceString);  
       if (newString != aTF.contents) {  
        theTF[j].contents = newString;  
       }  
      }  
     } 
    } 
};  
FindAndReplaceScript_AllOpenDocuments(); 
} 

回答

1

是的,有一種方法從目錄中讀取:

var dir = Folder.selectDialog("Where?"); 
var files = dir.getFiles("*.eps"); 

for(var f = 0; f < files.length; f++){ 
    var doc = app.open(files[f]); 
    //Your processing 
    doc.close(SaveOptions.SAVECHANGES); 
} 
相關問題