簡體   English   中英

如何在目錄中的所有文件上運行Illustrator javascript?

[英]How can I run an Illustrator javascript on all files in a directory?

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

我認為:1.有一種方法可以修改現有的javascript,以從目錄中讀取並在后台加載文件,對其進行處理,保存並關閉。 2.我可以編寫一個可以包裝現有Illustrator javascript的Node.js腳本,但是我不確定如何獲取它來識別“應用程序”對象並以與在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();   
}

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM