我在使用JS和photoshop时遇到了新的麻烦。我想要做的是在当前文档的文件名中删除“ Online ”这个词,然后将带有新文件名的JPG保存在不同的文件夹中。
在adobe参考的帮助下,我提出了以下脚本:
//Path where the final jpg should be saved
var JPGquality = 12;
var docPath="C:\Users\user\Desktop\test";
var docName='';
docName = activeDocument.name;
//Set new file name by replacing "_Online_" with "_"
var NewName = docName.replace("_Online_", "_");
var saveFile = new File(docPath+'/'+NewName+ '.jpg');
//Save JPG
function SaveJPEG(saveFile, jpegQuality) {
jpgSaveOptions = new JPEGSaveOptions();
jpgSaveOptions.embedColorProfile = true;
jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
jpgSaveOptions.matte = MatteType.NONE;
jpgSaveOptions.quality = jpegQuality; //1-12
activeDocument.saveAs(saveFile, jpgSaveOptions, true,Extension.LOWERCASE);
}
脚本运行但没有错误但没有任何反应。如果有人能告诉我我做错了什么会很有帮助。希望有人帮我弄清楚如何解决这个问题;)
答案 0 :(得分:1)
我用这个:
function saveAsJPG() {
jpgFile = new File(outputFolder + "/" + _CardFileName + ".jpg");
jpgSaveOptions = new JPEGSaveOptions();
jpgSaveOptions.embedColorProfile = true;
jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
jpgSaveOptions.matte = MatteType.NONE;
jpgSaveOptions.quality = 12;
docRef.saveAs(jpgFile, jpgSaveOptions, true, Extension.LOWERCASE);
}
答案 1 :(得分:0)
尝试在docPath
中使用正斜杠:
var docPath="C:/Users/user/Desktop/test";
\t
(制表符)和\u
(Unicode序列的开头)在JS字符串中具有特殊含义。
或者你可以逃脱它们,当然:
var docPath="C:\\Users\\user\\Desktop\\test";
答案 2 :(得分:0)
在javascript中为photoshop自动化编写路径的最好方法是'/ c / users / user /'这适用于mac和windows,你不需要转义反斜杠