/** * @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],用来表示图像等比调整后的尺寸。 var width = 800; var height = width*app.activeDocument.height/app.activeDocument.width; //定义一个变量[resolution],用来表示图像调整后的分辨率。 var resolution = 72; //定义一个变量[resampleMethod],用来表示图像调整后的重采样方法为自动模式。 var resampleMethod = ResampleMethod.AUTOMATIC; //定义一个变量[amount],用来表示图像调整后的噪点值。 var amount = 50; //使用[resizeImage]方法,来重新设置图像大小。 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; //文件存储品质 app.activeDocument.saveAs(saveFile, saveOptions, false,Extension.LOWERCASE); //覆盖(false)保存 app.activeDocument.close(); //关闭当前文档
其它:
#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当前的活动文档。 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]方法保存当前图片。 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当前的活动文档。 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]方法保存当前图片。 document.saveAs(fileOut, options, asCopy, extensionType);