2011-01-03 2 views
4

일부 레이어를 수정하고 PNG 이미지로 내보내는 스크립트를 Photoshop에서 만들려고합니다. 다른 장소에서 다음 코드를 복사했습니다.exportDocument() '대상 폴더가 존재하지 않습니다.'오류

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 /"또는 일부 특수 문자가있는 경로와 같은 다른 경로를 사용하려고하면 파일이 내보내지지 않고 " 대상 폴더가 존재하지 않습니다. "라는 오류 메시지가 나타납니다.

어떤 아이디어로 해결할 수 있습니까? 이 임시 파일에 파일을 내 보낸 다음 요청 된 경로에 & 이동 이름을 바꿀 수 있습니다

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

이 발생되지만 다음과 같은 수정을 시도 할 수없는 이유

답변

8

글쎄, 잘 모르겠어요 , 경로 문제를 해결해야합니다.

1

exportDocument는 폴더 경로가 아닌 전체 파일 이름을 필요로합니다. 이 오류를 가진 사람들을 위해

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

photoshop-script를 사용하지 : 오류 메시지 '존재하지 않는 대상 폴더'

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

이 작동하지 않고 있습니다 :

이 작동 .

오류는 대상 폴더에 언 바운드 될 수 있지만 내보내기 단계에 사용 된 폴더가 삭제 되었기 때문에 발생합니다. 그러니

  • 은 다시 수출 단계
을 녹음하는 동안 사용 된 폴더 또는
  • 을 다시
  • 관련 문제