清除PSD文件中多余的元数据(Metadata)

有时候从网上找到一个巨大的图片模板之后,保存出来的jpg文件也会是个几百兆的大文件……原因也很简单,因为PSD文件之间互相复制粘贴会在对应文件的XMP元数据里记录下操作数据,也就是这个图像是从哪儿来的,称作Document Ancestor信息,如果有些特别常用的素材被复制粘贴修改转手过几万次,这些数据也会原封不动的保存在PSD文件中,进而被塞到保存的JPG文件中……


打开photoshop——文件——文件简介原始元数据内容过大无法显示

解决方法:桌面新建一个文件记事本输入以下函数,保存为.jsx文件

function deleteDocumentAncestorsMetadata() {
whatApp = String(app.name);//String version of the app name
if(whatApp.search(“Photoshop”) > 0) { //Check for photoshop specifically, or this will cause errors
//Function Scrubs Document Ancestors from Files
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);
// Begone foul Document Ancestors!
xmp.deleteProperty(XMPConst.NS_PHOTOSHOP, “DocumentAncestors”);
app.activeDocument.xmpMetadata.rawData = xmp.serialize();
}
}
//Now run the function to remove the document ancestors
deleteDocumentAncestorsMetadata();

打开photoshop,文件——脚本——浏览 ,选择刚刚的脚本,ps会无响应或者直接重启稍等一会就好,随后我们在验证一下元数据。

然后把文件另存为,会发现重新保存的文件很小而且速度很快。