解決psd文件過(guò)大,制作一個(gè)ps清理元數(shù)據(jù)的腳本

課? ? ?目: 清理照片元數(shù)據(jù)的腳本
目? ? ?的:?不加班!
要? ? ?求:?互幫互助 共同提高
內(nèi)? ? ?容:?
? ? ? ? ? ?? ?1.新建記事本
? ? ? ? ?? ? ?2.復(fù)制以下代碼(B站復(fù)制最后一行會(huì)出現(xiàn)水印記得刪除)
? ? ? ? ? ?? ?3.粘貼并保存
? ? ? ? ? ? ??4.更改記事本文件后綴改為.jsx(如果不顯示后跳轉(zhuǎn)文章最后)
Ding ~? : 完成腳本
常見問(wèn)題:
1.如果提示代碼丟失,要將文本另存為,設(shè)置編碼格式為utf-8
function deleteDocumentAncestorSMetadata() {
? ? if(String(app.name).search("Photoshop") > 0) {
? ? ? ? if(!documents.length) {
? ? ? ? ? ? alert("There are no open documents. Please open a file to run this script.")
? ? ? ? ? ? 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("Clean finished.\n[doc name]:"+mainDocument.name+"\n[layer set]:"+layerSetStr);
}
try{
? ? if(confirm("Start to clean?")){
? ? ? ? start();
? ? }
} catch (e) {
? ? alert("Clean fail.e="+e)
}
代碼來(lái)源于網(wǎng)絡(luò)

使用方法
方案1:直接拖拽文件到ps的菜單欄執(zhí)行
方案2:文件 → 腳本 → 瀏覽
擴(kuò)展:
顯示擴(kuò)展名(后綴)的方法:https://www.bilibili.com/read/cv7950202