exportDocument () «папка назначения не существует» ошибка - PullRequest
4 голосов
/ 03 января 2011

Я пытаюсь сделать скрипт в фотошопе, который изменит некоторые слои, а затем экспортирует их как изображение 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);
}

Функция экспортирует активный документ фотошопа в файл, указанный параметром saveFile.

Работает нормально с простыми путями, такими как«C: \ images \ result.png», но при попытке использовать другие пути, например «~ / Desktop /», или пути с некоторыми специальными символами, файл не экспортируется, и появляется сообщение об ошибке «папка назначения не существует».

Есть идеи, как мне это решить?

Ответы [ 3 ]

8 голосов
/ 03 января 2011

Ну, я не уверен, почему это происходит, но вы можете попробовать следующую модификацию:

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 голос
/ 21 ноября 2012

exportDocument ожидает полное имя файла, а не путь к папке.

Это работает:

activeDocument.exportDocument(new File("~/foo/foo.png"), ExportType.SAVEFORWEB, pngOpts);

Это не работает и выдает сообщение об ошибке «папка назначения не существует»:

activeDocument.exportDocument(new File("~/foo/"), ExportType.SAVEFORWEB, pngOpts);
0 голосов
/ 22 октября 2014

Для людей, имеющих эту ошибку и не использующих photoshop-script.

Ошибка может быть не привязана к папке назначения, но возникает из-за папки, которая использовалась для шага экспорта, удаляется.Так что либо

  • пересоздайте папку, которая использовалась во время записи, либо
  • пересоздайте шаг экспорта
...