8 Replies Latest reply on Feb 13, 2014 11:55 AM by Nilufer

    How to alphabetical order pages at indesign cs4?

    Nilufer

      I have a text box at the beginning of each page and I want to alphabetical order pages based on that text box. Do you know how to do that?

        • 1. Re: How to alphabetical order pages at indesign cs4?
          Peter Spier Most Valuable Participant (Moderator)

          I've moved this to the scripting forum. If anyone knows, it will be the users here.

          • 2. Re: How to alphabetical order pages at indesign cs4?
            Trevorׅ Adobe Community Professional

            This will do it.

             

            But see also http://forums.adobe.com/thread/1082984?tstart=0 for a better workflow.

            For some reason the OP over there didn't get back to say thanks and mark the answer as correct .

             

            Trevor

             

             

             

            // Script to sort Pages according to alphabetical order of their top TextFrames contents
            // by Trevor (www.creative-scripts.com [coming soon]) custom and readymade scripts for InDesign
            // http://forums.adobe.com/thread/1405293?tstart=0
            // see also http://forums.adobe.com/thread/1082984?tstart=0 for a better workflow
            
            app.doScript("aToZPageSort()", ScriptLanguage.javascript, undefined, UndoModes.FAST_ENTIRE_SCRIPT, "Sort Pages By top text contents");
            function aToZPageSort () {
                var doc =  app.documents[0],
                      myPageIndex = [],
                      l = doc.pages.length,
                      topFrameIndex = z= 0, pageFramesTops, i, topFrameHeight, topFrame;
                while (l--) {
                    pageFramesTops = doc.pages[l].textFrames.everyItem().getElements().slice(0);
                    n = i = pageFramesTops && pageFramesTops.length; 
                    if (!i) continue;
                    while (n--) pageFramesTops[n] = pageFramesTops[n].geometricBounds[0]; // for some reason when one trys to get the geometricBounds[0] from teh everyItems without the elements it return y1, x1 and not just y1 ?-)
                    topFrameHeight = pageFramesTops[0];
                    topFrame = doc.pages[l].textFrames[0];
                    for (var n = 0; n< i ; n ++) {
                        if (pageFramesTops[n] < topFrameHeight) {
                            topFrameHeight = pageFramesTops[n]; 
                            topFrame = doc.pages[l].textFrames[n];
                        }
                    }
                    myPageIndex [z++] = {page: topFrame.parentPage, contents: topFrame.contents.toLowerCase()}
                }
                myPageIndex.sort (function (a,b) {return (a.contents.toLowerCase() > b.contents.toLowerCase())});
            
                l = myPageIndex.length;
                while (l--) myPageIndex[l].page.move (LocationOptions.AT_BEGINNING);
            }
            
            • 3. Re: How to alphabetical order pages at indesign cs4?
              Nilufer Level 1

              Trevor,

               

              Thank you so much! However I am very new in indesign and I even don't know how to add this script into my document

              I hope I am not being a pain! Could you  help me on that?

               

              Many thanks...

              • 4. Re: How to alphabetical order pages at indesign cs4?
                Trevorׅ Adobe Community Professional

                In InDesign go to the scripts panel

                Alt  +(Ctr / Command) + F11

                or Ctrl enter then type scripts and select script panel

                or go to Windows / Utilities / Scripts

                 

                Then on the panel right click the user folder and click on the USER folder and click on reveal in explorer

                 

                You now have have the script folder open

                 

                Copy the above script and paste it into any text editor.

                 

                Save it in the script folder with the extension .jsx

                Alphabetical Page Sort.jsx might be a good name to choose.

                 

                Lock in the script panel and you should see the script there in the User folder

                Click on it to run it.

                 

                If the script does not appear there then close and reopen the scripts panel.

                • 5. Re: How to alphabetical order pages at indesign cs4?
                  Trevorׅ Adobe Community Professional

                  P.s.

                   

                  I think Peter would agrea that the correct answer should go to me and not him

                  • 6. Re: How to alphabetical order pages at indesign cs4?
                    Peter Spier Most Valuable Participant (Moderator)

                    Absolutely, and I've made the change.

                     

                    You're lucky I'm still subscribed.

                    • 7. Re: How to alphabetical order pages at indesign cs4?
                      Trevorׅ Adobe Community Professional

                      Thanks Peter,

                      Ever indebted

                      • 8. Re: How to alphabetical order pages at indesign cs4?
                        Nilufer Level 1

                        Thank you... very much appreciated and helpful!