Ошибка exportDocument () «Папка назначения не существует»

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

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


person dvb    schedule 03.01.2011    source источник


Ответы (3)


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

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);
}

он экспортирует файл во временный файл, а затем переименовывает и перемещает его по запрошенному пути, что должно решить проблему пути.

person B.D.    schedule 03.01.2011

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

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

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

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

activeDocument.exportDocument(new File("~/foo/"), ExportType.SAVEFORWEB, pngOpts);
person gregschlom    schedule 21.11.2012

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

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

  • воссоздать папку, которая использовалась во время записи, или
  • воссоздать шаг экспорта
person SunnyRed    schedule 22.10.2014