链接发不上,我就直接复制原文吧
------------------------
明明只有几个图层,为什么我的 PSD 文件这么大?
hu neng1 年前
不知道有多少人被这个问题困扰过,总有那么几个 PSD 文件,明明只有几个图层而已,图层内均没有特别大的图片,但 PSD 文件却特别大,至少都比合理的大小超出几倍。而且在设计过程当中,保存时也会出现明显的卡顿现象。而且的而且,在 Mac 中是以 PSD 类型的图标展示而不是文档内容的预览方式来展示。
如果你的文档有以上像中病毒一样的症状,那么恭喜你,你的文档就是中病毒了...
骗你的。真正原因是因为 PS 在操作过程当中,文档中保存了历史图像多余的操作数据,这可能是某个 PS 版本的 Bug。你可以在「 文件」——「 文件简介」——「原始数据 」当中,查看该文档是否有过多没必要的信息。
上图展现的原始数据当中,有上千条 <rdf:li> </rdf:li> 信息。这些正是拖慢我们保存文档速度与文档「 膨胀」的元凶。
知道原因问题就解决了一半。我最后在谷歌中找到一个外国网友粘贴出来的代码,将代码保存为脚本文件,就可以删除这些多余的信息,使文档回到健康状态。
使用方法:将下面这段代码复制粘贴到文本工具当中,另存为 Jsx 格式文件。再 PS 打开有问题的文档,「 文件」——「 脚本」——「 浏览...」选择保存的 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();
感谢外国朋友。他的原文地址:Inflated JPG File Size 。你同样可以打开原文地址去复制上段代码。
---2017.11.2 更新---
有朋友问是否每个有问题的文件都需要执行一次脚本?
答案是的。因为脚本只能清理当前打开文件的元数据,如果文件中包含的智能对象内有多余元数据的话,则需要进入智能对象中再执行一次脚本。过程比较繁琐。但好消息是,现在有问题的文件出现的概率已经越来越少。
------------------------
希望能帮到大家,我自己是被折磨死了,各种方法各种折腾啊,原文知乎的链接发不了,就这样转过来给大伙看看吧