5
if (app.documents.length != 0) {
    var doc= app.activeDocument;

    for (i = 0; i < 5; i++) {
        var layer = doc.artLayers[0]
        layer.textItem.contents = i;

        var pngFile    = new File("/Users/dlokshin/temp/" + i + ".png");
        pngSaveOptions = new PNGSaveOptions();
        pngSaveOptions.interlaced = false;
        doc.saveAs(pngFile, pngSaveOptions, true, Extension.LOWERCASE);
    }
}

上記のスクリプトを実行するたびに、ファイルを1.png、2.png、3.pngなどとして保存する代わりに、[保存]ダイアログボックスが開き、ファイル名を入力して[保存]をクリックするように求められます。私は何が間違っているのですか?

4

3 に答える 3

9

どうやらPNGを保存することは、フォトショップのスクリプトを作成するときにJPEGを保存することとは大きく異なります。以下はPNGで機能します。

if (app.documents.length != 0) {
    var doc= app.activeDocument;

    for (i = 0; i < 5; i++) {
        var layer = doc.artLayers[0]
        layer.textItem.contents = i;

        var opts, file;
        opts = new ExportOptionsSaveForWeb();
        opts.format = SaveDocumentType.PNG;
        opts.PNG8 = false;
        opts.quality = 100;

        pngFile = new File("/Users/dlokshin/temp/speed.png");
        app.activeDocument.exportDocument(pngFile, ExportType.SAVEFORWEB, opts);
    }
}
于 2012-09-05T19:06:07.310 に答える
4

PNGSaveOptionsPhotoshopに次のような保存パスを提供すると、保存はうまくいきます。

var doc = app.activeDocument;  
var filePath = activeDocument.fullName.path;  
var pngFile = File(filePath + "/" + "myname.png");
pngSaveOptions = new PNGSaveOptions();
doc.saveAs(pngFile, pngSaveOptions, true, Extension.LOWERCASE);
于 2015-07-31T11:27:48.787 に答える
1

最初にこれを入力するだけです

app.displayDialogs = DialogModes.NO;

そして、あなたはもうダイアログを取得しません。

于 2017-11-30T22:48:27.407 に答える