28 Replies Latest reply: Dec 28, 2009 4:53 PM by Bill Hunt RSS

    Scale All Images

    SteveC100 Community Member

      I'm working on a document with hundreds of images. They're all screenshots (Photoshop files) with callouts created in InDesign. Images and callouts are grouped and then inserted into the text (ie. anchored inline).

       

      I want to scale all of them 90%. I've experimented with object styles, but that doesn't seem to offer a scaling parameter.

       

      Is there a better way than laboriously selecting each image and then typing 90% in the Scale Percentage in the Control bar?

       

      Also, is there a way to make ID show me how much the grouped object has been scaled? I can see how to display the scaling of the photoshop screen shot in the group, but it would help if I knew which grouped images had already been scaled.

       

      Thanks very much to anybody who can help,

      Steve

        • 1. Re: Scale All Images
          P Spier CommunityMVP

          THis might be scriptable if there's a way to identify the objects uniquely. I'd ask in the scripting forum.

          • 2. Re: Scale All Images
            SteveC100 Community Member

            Thanks, Peter. I've subsequently found the keyboard shortcut to shrink images 5% -- command-option-comma. So, if I had to, I could select each image and do that twice. A slow process on 350 images but not impossible.

             

            A couple of questions:

             

            First, it seems like there's no consistent way to put things back where they were after a resize like this. What I'm looking for is the ability to specify a magnification of 90% and then be able to put things back where they were later. If I resize using the scale area in the control bar, the display instantly reverts to 100%. It seems to keep no record of the original size (keep in mind that I'm talking about a group, an image and callouts, not just a single image).

             

            Second, using the command-option-comma shortcut twice doesn't really scale 10% smaller. It scales 5% of 100% and then 5% of 95%. Enlarging the image later by 10% would not put it back where it was.

             

            Is there any way out of this?

             

            Thanks again,

            Steve

            • 3. Re: Scale All Images
              P Spier CommunityMVP

              I'm on my way out, but I think I remember a script on InDesign Secrets that you could use to overcome the percent-of-a-percent problem.

              • 4. Re: Scale All Images
                SteveC100 Community Member

                Thanks, that's great. I found a discussion about this subject here:

                 

                http://indesignsecrets.com/scale-graphic-and-frame-in-cs3-with-shortcuts.php

                 

                That refers to CS3. I'm using CS4 and it seems that some of the missing behavior is back.

                 

                Under General Preferences, if I select "Adjust Scaling Percentage" then it seems that the scaling display is "sticky" and shows the current state of the object. And command-option-comma (or period) adjusts by 5 percentage points rather than 5% so you go from 100% to 95% to 90% and can invert it.

                 

                I sure wish this could be part of an object style. I'd apply that style to each group and could adjust all images in a single step.

                 

                Thanks again for your help, Peter,

                Steve

                • 5. Re: Scale All Images
                  Pieter van Helvoirt Community Member

                  I asume there are more images inside the document that you do not want to scale.

                  If all images you need to scale down are located in the same folder it's possible to scale them using a simple script.

                   

                  If you need any help on scripting this just let me know?

                  Regards

                  • 6. Re: Scale All Images
                    Kasyan Servetsky Community Member

                    Also, is there a way to make ID show me how much the grouped object has been scaled?

                    I am writing a free plug-in that shows information about images, including scaling. (See screenshot) If anybody is interested, let me know.

                     

                    And surely "scaling 90%-restoring previous scaling" can be done by script.

                     

                    Kasyan

                    • 7. Re: Scale All Images
                      Pieter van Helvoirt Community Member

                      Can you give me more information about how the images that should be scaled can be identified?

                      For example by name, by location or by object style used?

                      • 8. Re: Scale All Images
                        SteveC100 Community Member

                        Pieter, Kasyan

                         

                        Thanks so much for your suggestions. The images are screenshots with callouts -- the screenshots are on disk, but the callouts are created in InDesign and then grouped with the screenshot. The whole grouped object has to be scaled together or the callouts don't point at the correct part of the image.

                         

                        I just went through the whole doc and scaled Them all by hand. Not exactly fun, but not horrible. And with the preferences set as I mentioned, I do see the current scaling value on each image.

                         

                        I still wish I could change 'em all at once, but this works.

                         

                        Thanks again,

                        Steve

                        • 9. Re: Scale All Images
                          SteveC100 Community Member

                          Responding to Pieter's question --

                           

                          They're photoshop files on disk, placed in ID. Then callouts are added in ID and the whole thing is grouped and pasted into the text flow. The files on disk have names, but the grouped objects don't.

                           

                          Does that help?

                           

                          Steve

                          • 10. Re: Scale All Images
                            Pieter van Helvoirt Community Member

                            Hi Dave,

                             

                            Thanks for the response. If you want anything to be done (semi-)automaticly on certain (hard to define) objects or groups use a scriptlabel to identify them. Next you can use a script to find all objects or groups that have the label and Action!

                             

                            So next time you have to touch a lot of element adjusting them you maybe want to add a scriptlabel to then as well.

                            Using scripting you can do remarkable things in InDesign

                            • 11. Re: Scale All Images
                              SteveC100 Community Member

                              Pieter,

                               

                              Sounds interesting. How do I do it? I did a search for scriptlabel in the help system and couldn't find anything.

                               

                              Steve

                              • 13. Re: Scale All Images
                                SteveC100 Community Member

                                Got it, thanks. It's a good starting point.

                                 

                                But what about that scriptlabel thing?

                                 

                                S

                                • 14. Re: Scale All Images
                                  P Spier CommunityMVP

                                  You create the script label yourself in the script labels panel and apply it to the objects. asy enough to do, I think, when you are creating them, but probably just as much of a pain as the sizing if you decide to do it later.

                                  • 15. Re: Scale All Images
                                    Harbs. CommunityMVP

                                    For most situations, messing with script labels is not necessary. If 

                                    you are using unique object styles (or any other identifying 

                                    property), that'll be more than enough for a script to identify the 

                                    objects.

                                     

                                    Harbs

                                    • 16. Re: Scale All Images
                                      Pieter van Helvoirt Community Member

                                      I agree Herb. But in this situation we are talking about Groups.

                                      How do you identify groups? You can not apply an Object Style.

                                      • 17. Re: Scale All Images
                                        Harbs. CommunityMVP

                                        Actually, you can apply object styles to groups. But, the images can 

                                        be identified by the style of the image WITHIN the group as well.

                                         

                                        Harbs

                                        • 18. Re: Scale All Images
                                          Pieter van Helvoirt Community Member

                                          I know you can apply an object style to a group but how do you apply an object style to a group without effecting the elements inside the group?

                                          If elements inside the group have an object style applied to them than this style will be overriden by the "new" object style.

                                          A workaround is to make the group, apply the object style and then apply the object style to the group members (again). But that is a lot of work.

                                           

                                          Or am I missing something here?

                                          • 19. Re: Scale All Images
                                            Harbs. CommunityMVP

                                            I did not mean to apply the style to the whole group. I was just 

                                            pointing out that it can be done...

                                             

                                            I'm assuming that any placed images (whether or not they are grouped) 

                                            will have an object style applied to them. The script can simply loop 

                                            through all images in the doc, and resize the ones with the correct 

                                            object style.

                                             

                                            Harbs

                                            • 20. Re: Scale All Images
                                              SteveC100 Community Member

                                              Thanks for all the help, y'all.

                                               

                                              What I need now is a simple script that will go through all the images -- some grouped, some not -- and scale them all to 90%. (command-option-comma - twice). I know I will have to apply a style or script label to every image first. Once that's done, the ability to resize everything in a single move is pretty attractive.

                                               

                                              (I still think this is a feature request -- object styles should include magnification. But that's another story.)

                                               

                                              Thanks again,

                                              Steve

                                              • 21. Re: Scale All Images
                                                Harbs. CommunityMVP

                                                This will scale all images to 90% of their current size:

                                                  myGraphics = app.activeDocument.allGraphics;
                                                  for (idx = 0; myGraphics.length > idx; idx++) {
                                                   if(myGraphics[idx].constructor.name!="Image"){continue}
                                                   myGraphics[idx].parent.horizontalScale = 90;
                                                   myGraphics[idx].parent.verticalScale = 90;
                                                  }
                                                

                                                 

                                                And this will scale them to an absolute 90%:

                                                  myGraphics = app.activeDocument.allGraphics;
                                                  for (idx = 0; myGraphics.length > idx; idx++) {
                                                   if(myGraphics[idx].constructor.name!="Image"){continue}
                                                   myGraphics[idx].horizontalScale = 90;
                                                   myGraphics[idx].verticalScale = 90;
                                                   myGraphics[idx].parent.fit(FitOptions.FRAME_TO_CONTENT);
                                                  }
                                                

                                                 

                                                Harbs

                                                • 22. Re: Scale All Images
                                                  P Spier CommunityMVP

                                                  It's not clear, at least to me, if the OP still needs to scale the images and the grouped callouts together to maintain the positioning as mentioned earlier. Will these scripts accomodate that?

                                                  • 23. Re: Scale All Images
                                                    Harbs. CommunityMVP

                                                    No. If it's grouped, it will only scale the images, not the whole group.

                                                     

                                                    This (untested) should scale the whole group (if it's grouped):

                                                     

                                                    myGraphics = app.activeDocument.allGraphics;
                                                      for (idx = 0; myGraphics.length > idx; idx++) {
                                                        if(myGraphics[idx].constructor.name!="Image"){continue}
                                                        if(myGraphics[idx].parent.parent instanceof Group){
                                                          myGraphics[idx].parent.parent.horizontalScale = myGraphics[idx].parent.parent.verticalScale = 90;
                                                        } else {
                                                          myGraphics[idx].parent.horizontalScale = myGraphics[idx].parent.verticalScale = 90;
                                                        }
                                                      }
                                                    

                                                     

                                                    Harbs

                                                    • 25. Re: Scale All Images
                                                      SteveC100 Community Member

                                                      Harbs,

                                                       

                                                      I just wanted to post a warm but belated Thank You for the scripts you posted here. I finally got back into this, and the last one works like a charm. Does exactly what I need, namely changing every image, either grouped or not, to 95% scale.

                                                       

                                                      Many, many thanks for your help.

                                                       

                                                      Steve

                                                      • 26. Re: Scale All Images
                                                        Bill Hunt CommunityMVP

                                                        Not totally inside of InDesign, but how about doing the Scaling in Photoshop? You can do a simple Action, and choose to NOT change the filenames, and then set the Destination folder to where the linked image files are in InDesign. Allow the files to be overwritten.

                                                         

                                                        I'd make a Copy of your linked images, just to be on the safe side.

                                                         

                                                        Just thinking,

                                                         

                                                        Hunt

                                                        • 27. Re: Scale All Images
                                                          SteveC100 Community Member

                                                          Thanks for the thought -- keep in mind that I've got images that are grouped with callouts made in InDesign. It's the group

                                                          that needs to be scaled, not just the PS image itself.

                                                           

                                                          For what it's worth, I've now gone though everything by hand, scaling some and redesigning others. It wasn't fun, but it was probably the best way. Making "scaling" be part of an object style is still something that Adobe ought to add to the app, IMHO.

                                                           

                                                          Steve

                                                          • 28. Re: Scale All Images
                                                            Bill Hunt CommunityMVP

                                                            Steve,

                                                             

                                                            Gotcha', hadn't picked up on that, and was "thinking aloud."

                                                             

                                                            Thanks for the clarification,

                                                             

                                                            Hunt