13 Replies Latest reply on Apr 21, 2017 6:37 AM by Stephen_A_Marsh

    Inflated JPG File Size  - Photoshop Document:Ancestors Metadata

    iamwickedtall1 Level 1

      Has anyone run into this issue?

       

      I have a JPG that I have removed all image from, and filled with white. When I save it, the size is 7.89 MB. If I go into Bridge and clear the metadata, most likely the "<Document:Ancestors>" which contains "<rdf:bag>" , and 100+ lines of Hexadecimal code, the file size goes down to around 150KB. Maybe I'm missing a file save option out of photoshop, but It seems this metadata should be scrubbed on file saved. Additionally, does anyone know what kind of information is stored in Document Ancestors? Or if there is image information embedded that could potentially be extracted?

        • 1. Re: Inflated JPG File Size  - Photoshop Document:Ancestors Metadata
          gener7 Adobe Community Professional & MVP

          According to the XMP specifications (search Google for "XMP Specifications Part" -- there are three parts), the Document Ancestors denote "copy-and-paste or place" operations. These do not identify what was incorporated into the file -- it could be an entire picture or a portion of a picture. We only know that these four separate files were incorporated into an existing file. These records identify other documents (DID) that were added to this document. This is explicitly the definition of a composition: a picture made from other pictures.

           

          Gene

          • 2. Re: Inflated JPG File Size  - Photoshop Document:Ancestors Metadata
            iamwickedtall1 Level 1

            Thanks for this! Unfortunately, save for web isn't an option since these JPGs are for print or reference, and I generally have to email multiple to coworkers. Save for web also tanks when an image is too big. I cleared this info directly from a photoshop file, and resaved it finding that it immediately added it back.

             

            I will definitely look that up, and hope to get a better understanding of why it's inflating my files so much. Potentially I may have to figure out how to scrub the file on save with a script.

            • 3. Re: Inflated JPG File Size  - Photoshop Document:Ancestors Metadata
              gener7 Adobe Community Professional & MVP

              That's why I removed SFW in my reply. It shouldn't be hard to remove what you don't want and keep important information like Print size.

               

              Also if Photoshop Preferences > History Log is active, you can decide to disable that or direct the History to a text file if you want clients to have a history of your work for billing purposes.

               

              Gene

              • 4. Re: Inflated JPG File Size  - Photoshop Document:Ancestors Metadata
                iamwickedtall1 Level 1

                I was able to reach out to Adobe through my work. They mentioned it was an abnormal behavior for there to be over 100,000 lines of Document Ancestors, and thought it may be because it was a template. It turns out a lot of the art I work with has extensive lines of Ancestors, and when placing them into a completely new file, that file acquires them. A lot of these assets are CG renders, which too I would believe to be new files. While I'm not sure where the Document Ancestors originated, I was able to figure out how to eliminate them:

                 

                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();
                
                

                 

                Adobe mentioned that these were meant for file forensics and did not contain any sensitive information. I also tested scripting this with a loop provided in one of the Javascript Reference Documents, and while it does successfully eliminate the ancestors without opening the file, it doesn't reduce the file size until it is opened, and saved again. So, it must be run before save on an open file and will incorporate easily into my save scripts. Problem solved!

                 

                If you are new to scripting, copy the above lines into a plain text document(no formatting as it may not work) and change the extension to JSX. From there in Photoshop go to File>Scripts>Browse, and locate this script to run it on an open file. This can be tedious to do per file, so if you have to run on many, place the file in a stationary location, and record an action that runs this script. If you are unfamiliar, once the script is recorded you can batch this script on files by navigating File > Automate > Batch. As the file does need to be saved to eradicate the document ancestors, I recommend pairing your script action with a save as in a stationary location, as save as actions will remember the folder you saved to.

                • 5. Re: Inflated JPG File Size  - Photoshop Document:Ancestors Metadata
                  raytrazer Level 1

                  Is there any way to do this on Photoshop files without the use of scripts? I am not a programmer or coder. Save for Web does the trick for a single save of a layer but what about a Photoshop file with layers, smart objects or one that is bigger than 8K? Very frustrating this problem.

                  • 6. Re: Inflated JPG File Size  - Photoshop Document:Ancestors Metadata
                    iamwickedtall1 Level 1

                    You can open the XMP in Bridge and apply a template that is without the doc ancestors but this is really the only other way. If you're working mostly on photoshop files, the inflation is negligible, and you hardly notice it on a 100MB+ file. But if you are like me and are exporting jpgs to email, it is a huge pain. The script is incredibly simple to use if you want me to post it, that mixed with an action, and it's super easy to use. Surprisingly only 11 lines of code to eradicate an annoying issue.

                    • 7. Re: Inflated JPG File Size  - Photoshop Document:Ancestors Metadata
                      raytrazer Level 1

                      Thanks for replying so quickly. Yes, I tried with Bridge that exact same thing and it worked on some files but today I Can't get it to work... the templates are grayed out when I try to apply them. When I import them into Photoshop inside File info and select Clear it does wipe and replace but as soon as I close the file info it's back. Ugh! And yes, I cannot run layers to files anymore with this in the Photoshop file, every JPEG it outputs is 30MB or more and only Save-For-Web which is very limiting. What a royal pain in the a**. I would love to try your script and yes if you could explain how to apply/run it -- much appreciated -- I've been dealing with this issue for many months now and at my wits' end.

                      • 8. Re: Inflated JPG File Size  - Photoshop Document:Ancestors Metadata
                        iamwickedtall1 Level 1

                        Sure thing. Think I ran into the same thing in Photoshop even when saving out, it miraculously came back. The trick with the script is that it does have to save the file or a new file in order to work. The file holds on to disk space if the script is run without opening the file, but my script will be reliant on saving, because of my previous statement.

                         

                        When I was emailing with adobe support, they too recommended save for web, and quickly withdrew that recommendation when I brought up the same, it does not work well for anything over web size.

                         

                        If you want to send me a file to test, shoot me a message with a dropbox, wetransfer link or email address, I can test it and make sure it works for your issue. You can even fill the image with a solid color(if you'd prefer not to share a full image) and if it is truly a metadata issue, it will still be inflated.

                        • 9. Re: Inflated JPG File Size  - Photoshop Document:Ancestors Metadata
                          raytrazer Level 1

                          That's very generous of you. The file I have is quite big, i.e. 4GB. Would you mind running it? If so send me your email to michael@raygunstudio.com and I'll post it via wetransfer. Thank you!

                          • 10. Re: Inflated JPG File Size  - Photoshop Document:Ancestors Metadata
                            iamwickedtall1 Level 1

                            I emailed to you, and as well used the code markup feature of the forums, and included instructions.

                            • 11. Re: Inflated JPG File Size  - Photoshop Document:Ancestors Metadata
                              Stephen_A_Marsh Adobe Community Professional

                              I too would be interested in looking at a smaller sized sample file bloated with this unwanted metadata. It *should* be easy enough to remove using ExifTool.

                              • 12. Re: Inflated JPG File Size  - Photoshop Document:Ancestors Metadata
                                吴晓睿 Level 1

                                I have another way to figure out this,just select the layers all you want,then click right of your mouse,choose copy layers,then select NEW at the bottom of the options,then save this new document.you will find this one is more smaller than the original file.