Photoshopで30グループ程度あるPSDファイルを一番下のグループと結合して、一括出力するスクリプトを書きたいです。
Webなどを参考にしてjpegファイルでの吐き出しには成功したのですが、pngにすると下記エラーがでてしまいます。
おそらくパラメータの設定方法が間違えているのかと思うのですが、アドバイスなどいただくことは難しいでしょうか。
エラー内容
この機能は、このバージョンのphptoshopで使用できない可能性があります。
-「保存」コマンドのパラメータが無効です。
ライン:36-> activeDocument.saveAs~
javascript
1var folderObj = Folder.selectDialog("フォルダ選択"); 2 3fileList = new Array; 4fileList = folderObj.getFiles("*.psd"); 5 6app.displayDialogs = DialogModes.NO; 7 8for(i=0; i<fileList.length; i++){ 9 fileObj = new File(fileList[i]); 10 open(fileObj); 11 flag = fileObj.open(); 12 if (flag == true) { 13 //layerObj = app.activeDocument.layers; 14 docLayerSets= activeDocument.layerSets; 15 // 全てのレイヤーを非表示にする。 16 docLayerSets.visible = false; 17 // ひとつのレイヤーだけ表示し、JPGで別名保存する。 18 for (var i=0; i<docLayerSets.length; i++){ 19 var layerName = docLayerSets[i].name 20 docLayerSets[i].visible = true; 21 docLayerSets[docLayerSets.length-1].visible = true; 22 /* 23//これで activeDocument.saveAs(savename, jpgOpt, true, Extension.LOWERCASE); だとうまくいく 24 25 var jpgOpt = new JPEGSaveOptions(); 26 jpgOpt.embedColorProfile = true; 27 jpgOpt.quality = 2; 28 jpgOpt.formatOptions = FormatOptions.PROGRESSIVE; 29 jpgOpt.scans = 3; 30 jpgOpt.matte = MatteType.NONE; 31 */ 32 var pngOpt = new PNGSaveOptions(); 33 //pngOpt.compression = 9; 34 pngOpt.interlaced = false; 35 36 var fname = activeDocument.fullName.toString(); 37 var savename = new File(fname.split(".psd")[0]+"_"+layerName+".png"); 38 activeDocument.saveAs(savename, pngOpt, true, Extension.LOWERCASE); 39 docLayerSets[i].visible = false; 40 } 41 } 42 } 43activeDocument.close(SaveOptions.DONOTSAVECHANGES); 44alert("処理が完了しました。スクリプトを終了します。");
あなたの回答
tips
プレビュー