在我的javascript中,在Windows 7中,Photoshop CS2& Photoshop CS5,它会抛出一个错误:
错误8800:发生一般Photoshop错误。此版本的Photoshop可能无法使用此功能 - 无法将副本另存为“C:... \ wcb-010B-11Y.jpg”,因为无法找到该文件。
行:458
- > docRef.saveAs(saveFile,jpgSaveOptions,true,Extension.LOWERCASE);
以下是保存图片的代码摘要:
var selectedSaveDir = "~/Desktop/";
var sFileNamePreFix = "wcb-";
var docRef = app.activeDocument;
var docName = app.activeDocument.name;
var docNewName = docName.substr( 0, docName.length - 4 ); // strip file extension
var sNewDocName = sFileNamePreFix + docNewName + ".jpg"
var sNewFileName = selectedSaveDir + sNewDocName;
//alert( "sNewFileName = " + sNewFileName ); // test to verify correct location
var saveFile = new File(sNewFileName);
jpgSaveOptions = new JPEGSaveOptions();
jpgSaveOptions.quality = 12;
docRef.saveAs(saveFile, jpgSaveOptions, true, Extension.LOWERCASE);
在Windows XP中,此脚本在CS2中运行良好且没有任何问题....仅在Windows 7中使用CS2或CS5发生此问题。
问题似乎与:Photoshop Javascript scripting saving and closing document类似 但我不知道他的操作系统。
我添加了“提醒”(并确认保存文件夹和名称是正确的,可以保存到,但同样的问题。
它可能是Windows 7中的UAC问题吗?你怎么解决它?我已经关闭了所有UAC设置(我认为我做得正确),但它仍然会发生。
任何帮助?
答案 0 :(得分:0)
你错过了#34; var docRef = app.activeDocument;" (我已添加);但除此之外,在CS2中,脚本将jpeg保存到桌面(wcb-text test.jpg)。这很明显,但是你确定图像是扁平化的,或者不包含任何无法存储在jpeg中的信息 - 例如路径。
在保存之前尝试强制展平
//flatten the image
docRef.flatten();
要尝试的另一件事是将文件保存到另一个目录。我知道长文件名(尤其是空格)可能会导致问题 - 我认为文件路径中有300个字符的限制。
答案 1 :(得分:0)
我刚刚发现,在PS的新版本中,此特定路径变量给出错误8800:
var selectedSaveDir = "~/Desktop/";
使用完整路径,并使用撇号代替引号:
var selectedSaveDir = 'C:/Users/yourname/Desktop/';