javascript - 如何对目录中的所有文件运行 Illustrator javascript?

标签 javascript adobe-illustrator

我正在尝试使用 javascript 更新 Illustrator 文件。我有一个脚本可以以所需的方式修改打开的文件(实际上只是一个文本查找/替换,但文本是在 Illustrator 数据中编码的)。问题是我有数百个这样的文件,我想在一个目录中以相同的方式修改它们。有没有一种方法可以让我不必打开这些文件中的每一个文件来执行此操作?

我认为: 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();   
}

最佳答案

是的,有一种方法可以从目录中读取:

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

关于javascript - 如何对目录中的所有文件运行 Illustrator javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34920139/

相关文章:

javascript - Google 脚本数字格式错误

javascript - 多个页面需要自动刷新,每个页面上保存不同的选项

javascript - styled-components 'css' 未定义 no-undef

adobe-illustrator - Adobe Illustrator - 图层和组有什么区别?

javascript - 为 Web 应用程序实现教程/介绍

javascript - 正则表达式仅匹配javascript中字符串的时间值

.net - 无法在Win64位上创建64位的activex组件?

r - 将 ggplot 保存为 EPS 格式以便在 Adob​​e Illustrator 中进行编辑——文本问题

php - 使用 PHP 将 Ai 转为 Png

html - Svg 不能用作背景