我正在尝试在photoshop中创建一个脚本来修改某些图层,然后将它们导出为PNG图像。我从另一个地方复制了以下代码:
function SavePNG(saveFile){
var pngOpts = new ExportOptionsSaveForWeb;
pngOpts.format = SaveDocumentType.PNG
pngOpts.PNG8 = false;
pngOpts.transparency = true;
pngOpts.interlaced = true;
pngOpts.quality = 100;
activeDocument.exportDocument(saveFile,ExportType.SAVEFORWEB,pngOpts);
}
该函数将photoshop的活动文档导出到saveFile参数指定的文件。
使用“C:\ images \ result.png”之类的简单路径可以正常工作但是当尝试使用不同的路径(如“〜/ Desktop /”)或带有一些特殊字符的路径时,文件不会导出,而是“目的地”文件夹不存在“出现错误消息。
我知道如何解决它?
答案 0 :(得分:8)
好吧,我不确定为什么会这样,但你可以尝试以下修改:
function SavePNG(saveFile){
var tmpFile = "./tmp.png";
tmpFile = new File(tmpFile);
var pngOpts = new ExportOptionsSaveForWeb;
pngOpts.format = SaveDocumentType.PNG
pngOpts.PNG8 = false;
pngOpts.transparency = true;
pngOpts.interlaced = true;
pngOpts.quality = 100;
activeDocument.exportDocument(tmpFile,ExportType.SAVEFORWEB,pngOpts);
tmpFile.rename (saveFile);
tmpFile.changePath(saveFile);
}
它会将文件导出到临时文件中,然后重命名&将其移动到请求的路径,应解决路径问题。
答案 1 :(得分:1)
exportDocument需要完整的文件名,而不是文件夹路径。
这有效:
activeDocument.exportDocument(new File("~/foo/foo.png"), ExportType.SAVEFORWEB, pngOpts);
这不起作用,并且“目标文件夹不存在”错误消息:
activeDocument.exportDocument(new File("~/foo/"), ExportType.SAVEFORWEB, pngOpts);
答案 2 :(得分:0)
对于出现此错误且未使用 photoshop-script
的人。
错误可能未绑定到目标文件夹,但是因为删除了用于导出步骤的文件夹而发生。所以要么