18 Replies Latest reply on Feb 7, 2012 2:07 AM by camilo umaña

    How to script something like this for navigating PDF?

    camilo umaña Level 1

      I am looking something similar to this:

       

       

      Screen Shot 2012-01-31 at 2.31.29 PM.png

       

      We have this but is not working in Acrobat X:

      // Add navigation buttons to the page

      // This script puts 3 buttons on top of every page (except the first one that has one button)

      // First button "<" : takes to the previous page

      // Second button: "1" : takes to the first page of the document

      // Third button: ">" : takes to the next page in the document (does not exists on the last page)

       

      var inch = 72;

       

      try

      {

       

          nLastPage = this.numPages - 1;

       

          for (var p = 0; p < this.numPages; p++)

          {

              var x = 0.5;

       

              if (p > 0)

              {

                  AddButton(p,x,0.5,0.25,0.25,"PrevPage","<","Previous Page","this.pageNum--;"); // left arrow, previous page

                  x += 0.3;

              }

         

              if (p != 0)

              {

                  AddButton(p,x,0.5,0.25,0.25,"StartPage","1","Go To First Page","this.pageNum=0;"); // "1", takes to the first page

                  x += 0.3;

              }

         

              if (p < nLastPage)

              {

                  AddButton(p,x,0.5,0.25,0.25,"NextPage",">","Next Page","this.pageNum++;"); // right arrow, next page

                  x += 0.3;

              }

       

              AddButton(p,x,0.5,0.25,0.25,"Back","<<","Go Back","app.execMenuItem(\"GoBack\");"); // right arrow, next page

              x += 0.3;

             

          }

       

      }

       

       

      catch (e)

      {

      app.alert(e);

      }

       

      // AddButton function creates a button with given parameters and action

       

      function AddButton(nPageNum, x, y, width, height, strText, strCaption, strToolTip, strAction)

      {

          var aRect = this.getPageBox( { nPage: nPageNum} );

          aRect[0] += x * inch;

          aRect[1] -= y * inch;

          aRect[2] = aRect[0] + width * inch;

          aRect[3] = aRect[1] - height * inch;

       

          var f = this.addField(strText,"button", nPageNum, aRect);

          f.setAction("MouseUp",strAction);

          f.userName = strToolTip;

          f.delay = true;

          f.borderStyle = border.s;

          f.highlight = "push";

          f.textSize = 0; // autosized

          f.textColor = color.blue;

          f.strokeColor = color.blue;

          f.fillColor = color.white;

          // you can specify a different font here, otherwise it uses a default one

          //f.textFont = font.ZapfD;

          f.buttonSetCaption(strCaption);

          f.delay = false;

      }