/** * @author ecomcn.com * @name photoshop 文件瘦身 */ function deleteDocumentAncestorsMetadata() { if(String(app.name).search("Photoshop") > 0) { if(!documents.length) { alert("沒有打開的文檔。請打開一個文件以運行此腳本。") return; } if (ExternalObject.AdobeXMPScript == undefined) ExternalObject.AdobeXMPScript = new ExternalObject("lib:AdobeXMPScript"); var xmp = new XMPMeta( activeDocument.xmpMetadata.rawData); xmp.deleteProperty(XMPConst.NS_PHOTOSHOP, "DocumentAncestors"); app.activeDocument.xmpMetadata.rawData = xmp.serialize(); clearDocumentAncestorsForAllLayers(app.activeDocument); if (app.activeDocument !== mainDocument) { app.activeDocument.close(SaveOptions.SAVECHANGES); }else{ app.activeDocument.save(); } } } function clearDocumentAncestorsForAllLayers(doc) { try { if (doc == undefined) { return; } for (var i = 0; i < doc.layers.length; i++) { var curLayer = doc.layers[i]; if (curLayer.typename != "ArtLayer") { clearDocumentAncestorsForAllLayers(curLayer); continue; } if (curLayer.kind == "LayerKind.SMARTOBJECT") { app.activeDocument.activeLayer = curLayer; var idplacedLayerEditContents = stringIDToTypeID("placedLayerEditContents"); var actionDescriptor = new ActionDescriptor(); executeAction(idplacedLayerEditContents, actionDescriptor, DialogModes.NO); if(app.activeDocument.activeLayer == curLayer){ continue; } deleteDocumentAncestorsMetadata() layerSetStr += ("\n"+curLayer.name) } } } catch (e) { alert("Layer clean fail.name="+doc+";e="+e) } } var layerSetStr = ""; var mainDocument = app.activeDocument; function start(){ deleteDocumentAncestorsMetadata(); alert("瘦身完成!\n文檔名:"+mainDocument.name+"\n圖層組:"+layerSetStr); } try{ if(confirm("開始瘦身并保存?")){ start(); } } catch (e) { alert("Clean fail.e="+e) }
#target photoshop app.bringToFront //定義一個變量[width],用來表示圖像等比調(diào)整后的尺寸。 var width = 800; var height = width*app.activeDocument.height/app.activeDocument.width; //定義一個變量[resolution],用來表示圖像調(diào)整后的分辨率。 var resolution = 72; //定義一個變量[resampleMethod],用來表示圖像調(diào)整后的重采樣方法為自動模式。 var resampleMethod = ResampleMethod.AUTOMATIC; //定義一個變量[amount],用來表示圖像調(diào)整后的噪點值。 var amount = 50; //使用[resizeImage]方法,來重新設(shè)置圖像大小。 app.activeDocument.resizeImage(width, height, resolution, resampleMethod, amount);
推薦使用:
#target photoshop app.bringToFront saveFile = new File (app.activeDocument.fullName) saveOptions = new JPEGSaveOptions(); //文件存儲格式 saveOptions.embedColorProfile = true; saveOptions.formatOptions = FormatOptions.STANDARDBASELINE; saveOptions.matte = MatteType.NONE; saveOptions.quality = 7; //文件存儲品質(zhì) app.activeDocument.saveAs(saveFile, saveOptions, false,Extension.LOWERCASE); //覆蓋(false)保存 app.activeDocument.close(); //關(guān)閉當(dāng)前文檔
其它:
#target photoshop app.bringToFront //定義文件存儲位置 var saveln=new File (app.activeDocument.fullName) //文件的存儲格式選項 var options=JPEGSaveOptions //定義是否保留原文件不動,只另存文件 var asCopy=true //定義extensionType這個意思是文擴展名的大小寫 var extensionType=Extension.LOWERCASE app.activeDocument.saveAs(saveln,options,asCopy,extensionType)
//定義一個變量[document],用來表示Photoshop當(dāng)前的活動文檔。 var document = app.activeDocument; //定義一個變量[fileOut],用來指定文件保存的路徑。 var fileOut = new File(document.fullName); //定義一個變量[options],用來指定圖片保存的格式。 var options = JPEGSaveOptions; //定義一個變量[asCopy],用來指定圖片以副本的方式保存。 var asCopy = true; //定義一個變量[extensionType],用來指定圖片名稱的后綴為小寫。 var extensionType = Extension.LOWERCASE; //使用[document]對象的[saveAs]方法保存當(dāng)前圖片。 document.saveAs(fileOut, options, asCopy, extensionType, quality);
推薦使用:
#target photoshop app.bringToFront saveFile = new File (app.activeDocument.fullName) saveOptions = new PNGSaveOptions(); //文件存儲格式 saveOptions.embedColorProfile = true; saveOptions.formatOptions = FormatOptions.STANDARDBASELINE; saveOptions.matte = MatteType.NONE; app.activeDocument.saveAs(saveFile, saveOptions, false,Extension.LOWERCASE); //覆蓋(false)保存
其它:
#target photoshop app.bringToFront //定義文件存儲位置 var saveln=new File (app.activeDocument.fullName) //文件的存儲格式選項 var options=PNGSaveOptions //定義是否保留原文件不動,只另存文件 var asCopy=true //定義extensionType這個意思是文擴展名的大小寫 var extensionType=Extension.LOWERCASE app.activeDocument.saveAs(saveln,options,asCopy,extensionType)
//定義一個變量[document],用來表示Photoshop當(dāng)前的活動文檔。 var document = app.activeDocument; //定義一個變量[fileOut],用來指定文件保存的路徑。 var fileOut = new File(document.fullName); //定義一個變量[options],用來指定圖片保存的格式。 var options = PNGSaveOptions; //定義一個變量[asCopy],用來指定圖片以副本的方式保存。 var asCopy = true; //定義一個變量[extensionType],用來指定圖片名稱的后綴為小寫。 var extensionType = Extension.LOWERCASE; //使用[document]對象的[saveAs]方法保存當(dāng)前圖片。 document.saveAs(fileOut, options, asCopy, extensionType);