exportDocument() '宛先フォルダーが存在しない'エラー
-
14-10-2019 - |
質問
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/」などの異なるパスで試行する場合、いくつかの特殊文字を持つパスでファイルがエクスポートされておらず、「宛先フォルダーはそうではありません。存在する「エラーメッセージが表示されます。
どうすれば解決できますか?
解決
まあ、なぜこれが起こるのかわかりませんが、次の変更を試すことができます。
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);
}
ファイルを一時ファイルにエクスポートし、名前を変更して要求されたパスに移動します。パスの問題を解決するはずです。
他のヒント
ExportDocumentは、フォルダーパスではなく、完全なファイル名を期待しています。
これは機能します:
activeDocument.exportDocument(new File("~/foo/foo.png"), ExportType.SAVEFORWEB, pngOpts);
これは機能せず、「宛先フォルダーが存在しない」エラーメッセージを与えます。
activeDocument.exportDocument(new File("~/foo/"), ExportType.SAVEFORWEB, pngOpts);
このエラーがある人のために 使用していない photoshop-script
.
エラーは宛先フォルダーにバウンドされていない可能性がありますが、エクスポートステップに使用されたフォルダーが削除されるために発生します。だからどちらも
- 録音中に使用されたフォルダーを再作成する、または
- エクスポートステップを再作成します
所属していません StackOverflow