exportDocument()'目标文件夹不存在'错误

时间:2011-01-03 17:41:57

标签: photoshop-script

我正在尝试在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 /”)或带有一些特殊字符的路径时,文件不会导出,而是“目的地”文件夹不存在“出现错误消息。

我知道如何解决它?

3 个答案:

答案 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的人。

错误可能未绑定到目标文件夹,但是因为删除了用于导出步骤的文件夹而发生。所以要么

  • 重新创建录制期间使用的文件夹,或
  • 重新创建导出步骤