6 Replies Latest reply on Mar 14, 2017 6:29 AM by Trevorׅ

    Mass export all images as individual JPEGs?

    rachellefacistolmata

      Hi! I am new to Indesign. I have a file that contains images with Photoshop clipping paths. I want to export all the clipped images in a folder. I have tried doing the "Copy Links To" and it successfully exported the original images. However, I do not want the original images but the clipped images instead. Is there a way for me to export all the clipped images as JPEG or TIFF and not the original linked image? In short, I want to export the images without their background. I hope I'm making sense. I have about 800-1000 images so a batch processing method would be highly appreciated.

       

      I actually found a way to export the images the way I want them to be. I just need to click the image container (not the image), go to File>Export and then export it as JPEG. In the pop up window, I choose export selection, maximum quality, and 2400 resolution. It exports the images the way I want them to be. But I have to do this one by one. I just have two concerns:

      1. Is there a way for me to do this by batch? Like select all the image containers and export them one by one automatically?

      2. Is there a way to automatically name the saved files according to the original image name?

       

      Thank you for your help!

        • 1. Re: Mass export all images as individual JPEGs?
          rachellefacistolmata Level 1

          I found this script in another forum and modified it a bit to suit my needs. It appears to work in most of my INDD documents, but it fails in others. I wonder why. I get the error message that

          Error string: null is not an object

          Source: fileName = File ( rect.graphics[0].itemLink.filePath ).name;

           

          I also noticed that it skips some objects and doesn't download all of the images.

           

          test();

          function test()

          {

           

          var myDoc = app.activeDocument,

          apis = myDoc.allPageItems, rect, fileName;

           

          while ( rect = apis.pop() )

          {

              if ( !(rect instanceof Rectangle) || !rect.graphics[0].isValid ){ continue; }

           

           

              fileName = File ( rect.graphics[0].itemLink.filePath ).name;

              fileName = fileName.replace( /\.[a-z]{2,4}$/i, '.jpg' );

           

           

              app.jpegExportPreferences.exportResolution = 2400;

              app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MAXIMUM;

           

           

              //give it a unique name

              var myFile = new File ("C:/Users/RANFacistol-Mata/Desktop/Image Trial/"+ fileName);

           

           

              rect.exportFile(ExportFormat.JPG, myFile);

          }

          }

           

           

          Is there a way for me to modify this script such that instead of iterating through all the rectangles, I would iterate through all the objects instead, much like clicking this icon.Next.PNG

           

          And then check if that object contains an image. If it does, then I will export it as scripted above.
          Thanks!

          1 person found this helpful
          • 2. Re: Mass export all images as individual JPEGs?
            Jump_Over Level 5

            Hi,

             

            I suggest to iterate through links instead of objects ==> so no link means no action

            starting part of code:

            var
                myDoc = app.activeDocument,
                apis = myDoc.links.everyItem().getElements(),
                rect, fileName;
            while ( rect = apis.pop() )
            {
                rect = rect.parent.parent;
                if ( !(rect.hasOwnProperty ("graphics") ){ continue; }
                fileName = File ( rect.graphics[0].itemLink.filePath ).name;
            //.....
            

             

            Jarek

            1 person found this helpful
            • 3. Re: Mass export all images as individual JPEGs?
              rachellefacistolmata Level 1

              Hello Jarek,
              Thank you for this suggestion. You're right. It's actually more efficient to iterate through the links than through the objects. However, I have one more concern. Not all of my linked images are in a rectangle. Some of them are in polygons, and some are in arbitrary shapes (like the edges have been followed). Can you suggest a way for me to catch those instances too?
              Thanks!

              • 4. Re: Mass export all images as individual JPEGs?
                rachellefacistolmata Level 1

                Hi Jarek,
                Your solution works like a charm.
                Thank you!

                • 5. Re: Mass export all images as individual JPEGs?
                  Jump_Over Level 5

                  Hi,

                   

                  var rec covers all 'graphic' shapes. (link.parent.parent)

                  Its name is just left to reduce modifications

                   

                  Jarek

                  • 6. Re: Mass export all images as individual JPEGs?
                    Trevorׅ Adobe Community Professional

                    Hi Rachelle

                     

                    I think Jarek has answered your question so please mark his answer as correct

                     

                    Trevor