4 Replies Latest reply on Jan 27, 2016 12:51 AM by Liphou

    [JS] [object Page] [CS6]

    Liphou Level 1

      Hello ,
      I created a "[Page object]" price starting a text selection, I can not Selected or presedent suivente the page based on this item?
      Do you have a track for me thank you.
      Philippe

       

       

      Bonjour ,

       

      Je créé un "[object Page]" a partire d'une selection texte , je ne parviens pas à selectioné la page suivente ou présedent sur base de cet objet?

      Avez-vous un piste  pour moi merci.

       

      Philippe 

        • 1. Re: [JS] [object Page] [CS6]
          Loic.Aigon Adobe Community Professional

          Hi,

           

          Given that yoiu got a page object, you can reach next page if valid with multiple approaches:

           

          
          var doc = app.activeDocument;
          var pages = doc.pages;
          var myRefPage = pages[0];
          
          //Using collection
          var myNextPage = pages.nextItem(myRefPage);
          
          //Using pages indeces
          var index= pages[0].documentOffset;
          var myNextPage = pages [ index+1 ];
          

           

          HTH

           

          Loic

          www.ozalto.com

          • 2. Re: [JS] [object Page] [CS6]
            Liphou Level 1

            Le retour

             

            Merci Loic, bonne piste.

             

            var o = {};
               o.leDocument = app.activeDocument;
                  // function initialisation de l'objet o
                   initialisePage(app.selection[0]);
            
                    $.writeln (o.laPageImpaire.name + ' — ' + o.laPageImpaire.appliedMaster.name); // OK
                    $.writeln (o.laPagePaire!= null ? o.laPagePaire.name + ' — ' + o.laPagePaire.appliedMaster.name: 'null'); // OK
            
            
            function initialisePage(lObj) {
                var laSelection = lObj;
                if (laSelection.hasOwnProperty("baseline")) {
                     laSelection = laSelection.parentTextFrames[0];  // recuperaire le textFrames parent
               
                  
                      o.laPage = laSelection.parentPage;   // recuperaire la page parent du textFrame
                      o.laPageOffset = o.laPage.documentOffset;
                      leModulo(o.laPage.name); // calcule la page  paire et l'imapire
                     
                      o.leChapitrePaire = (o.laPagePaire!= null ? Number(o.laPagePaire.appliedMaster.name.match(/\d{1,2}/)) : null);
                      o.leChapitreImpaire = Number(o.laPageImpaire.appliedMaster.name.match(/\d{1,2}/));
            
                     
                    //$.writeln (o.laPage.name + ' — ' + );
                 }// fin du if
              } //
            // 
            // function page paire et imapire
            function leModulo(number) {
               
                    if (isNaN (number)) {
                       
                            return "La variable n'est pas un nombre.";
                    }
                    else if (number % 2 === 0) {
                        o.laPagePaire = o.laPage;
                        o.laPageImpaire = o.leDocument.pages[o.laPageOffset+1];
                        return "true";
                       
                    }
                    else  {
                        if (o.laPageOffset > 0) {
                                o.laPagePaire = o.leDocument.pages[o.laPageOffset-1];
                                o.laPageImpaire = o.laPage;
                        return "false";
                            } else {
                            o.laPagePaire = null;
                            o.laPageImpaire = o.laPage;
                            }
                        }
            }//
            

            Voilà mon morceau de code, il peux probablement être plus simple ...

             

            Merci

            • 3. Re: [JS] [object Page] [CS6]
              Loic.Aigon Adobe Community Professional

              Maybe that way ?

               

              function main() {
                var doc, pages, n;
              
                if ( !app.documents.length ) return;
              
                doc = app.activeDocument
                pages = doc.pages;
                n = pages.length;
              
                while ( n-- ) {
                p = pages[n];
              
                if ( p.side == PageSideOptions.RIGHT_HAND ) {
                //do sth with right page
                }
                else if ( p.side == PageSideOptions.LEFT_HAND ) {
                //do sth with left page
                }
                }
              }
              
              
              main();
              

               

              HTH

               

              Loic

              www.ozalto.com

              • 4. Re: [JS] [object Page] [CS6]
                Liphou Level 1

                Merci Loic. c'est beaucoup plus propre.