Skip to main content
Participant
May 26, 2015
Answered

How to create bookmarks in adobe acrobat reader dc

  • May 26, 2015
  • 14 replies
  • 238153 views

I feel like this should be simple but obviously I'm missing something. 

I updated my Acrobat reader to DC.  I have the free desktop version, not premium or anything.  I can't figure out how to make a bookmark for the life of me.  Is that function no longer available for free users?  There's no icon to create a bookmark and I've looked all up and down through the navigation pane and there's no bookmarks tab anywhere.  Are bookmarks gone or just gone for free users?

Correct answer try67

Not possible. You need to get Acrobat to create bookmarks. The free Reader can't do it, and it won't display the Bookmarks panel for a file without bookmarks (as it can't be used for anything).

14 replies

Participant
March 2, 2016

Foxit did it well, I used foxit for creating bookmark on scanned PDF file. It is very helpful.

tim_jarrett
Participant
November 2, 2015

If I was reading the PDF as a printed book, I could add as many bookmarks as I like by just inserting something between the pages or sticking a sticky note at the top to overlap the margin.  To suggest that this is not wanted or necessary with a PDF file is ludicrous, this is something you want to do time and time again. Most, if not all e-readers allow this, the Kindle apps all do it, why not the Adobe pdf reader app too?

July 5, 2015

Workaround:

Create a prefix such as bmk

At the place you want to insert bookmark - start a stickynote and include bmk as first word. You can add other comments if you want.

Close and remember to save when you exit.

To get boookmarks

On the Edit tab - select Advanced Search with radio button set to this document and a tick in the Include comments.

in the search box type bmk - all the bmks will appear with andy additional notes associated. Click on the selected one and you are there.

Participant
August 4, 2015

This is a GREAT workaround. Thanks.

I don't care if this is not the literally "correct" answer, it's the BEST answer because it solves my problem instead of simply telling me to spend the bucks on Pro or search for another PDF tool.

try67
Community Expert
try67Community ExpertCorrect answer
Community Expert
May 26, 2015

Not possible. You need to get Acrobat to create bookmarks. The free Reader can't do it, and it won't display the Bookmarks panel for a file without bookmarks (as it can't be used for anything).

Participant
November 16, 2024

Yes this is possible using javascript supplied by pdfhacks.com.
I know this is responding to a very old post but as it was marked as the correct answer it is the most relevant place to put it. 
You can either download the needed file from here:  http://www.pdfhacks.com/bookmark_page/
Or alternatively open notepad, add the following script and save as bookmark_page.js in the folder named 'Javascripts' in the Acrobat Reader DC installation folder.
Instructions for use:

- Add A Bookmark (you can add as many as you want)
Open your PDF and navigate to the page you wish to bookmark.
Go to the View menu and select Bookmark this page.
 
- Navigate to a Bookmark
Go to the View menu and select Go To Bookmark.
This opens up a box with your created bookmarks for you to choose from.
 
- Remove A Bookmark
Go to the View menu and select Remove Bookmark.
This opens up a box with your created bookmarks, just select the one you wish to remove.
 
- Clear All Bookmarks
Go to the View menu and select Clear Bookmarks.




// bookmark_page.js, ver. 1.0
// visit: www.pdfhacks.com/bookmark_page/

// use this delimiter for serializing our array
var bp_delim= '%#%#';

function SaveData( data ) {
  // data is an array of arrays that needs
  // to be serialized and stored into a persistent
  // global string
  var ds= '';
  for( ii= 0; ii< data.length; ++ii ) {
    for( jj= 0; jj< 3; ++jj ) {
      if( ii!= 0 || jj!= 0 )
        ds+= bp_delim;
      ds+= data[ii][jj];
    }
  }
  global.pdf_hacks_js_bookmarks= ds;
  global.setPersistent( "pdf_hacks_js_bookmarks", true );
}

function GetData() {
  // reverse of SaveData; return an array of arrays
  if( global.pdf_hacks_js_bookmarks== null ) {
    return new Array(0);
  }

  var flat= global.pdf_hacks_js_bookmarks.split( bp_delim );
  var data= new Array();
  for( ii= 0; ii< flat.length; ) {
    var record= new Array();
    for( jj= 0; jj< 3 && ii< flat.length; ++ii, ++jj ) {
      record.push( flat[ii] );
    }
    if( record.length== 3 ) {
      data.push( record );
    }
  }
  return data;
}

function AddBookmark() {
  // query the user for a name, and then combine it with
  // the current PDF page to create a record; store this record
  var label= 
    app.response( "Bookmark Name:",
                  "Bookmark Name",
                  "",
                  false );
  if( label!= null ) {
    var record= new Array(3);
    record[0]= label;
    record[1]= this.path;
    record[2]= this.pageNum;

    data= GetData();
    data.push( record );
    SaveData( data );
  }
}

function ShowBookmarks() {
  // show a pop-up menu; this seems to only work when
  // a PDF is alreay in the viewer;
  var data= GetData();
  var items= '';
  for( ii= 0; ii< data.length; ++ii ) {
    if( ii!= 0 )
      items+= ', ';
    items+= '"'+ ii+ ': '+ data[ii][0]+ '"';
  }
  // assemble the command and the execute it with eval()
  var command= 'app.popUpMenu( '+ items+ ' );';
  var selection= eval( command );
  if( selection== null ) {
    return; // exit
  }

  // the user made a selection; parse out its index and use it
  // to access the bookmark record
  var index= 0;
  // toString() converts the String object to a string literal
  // eval() converts the string literal to a number
  index= eval( selection.substring( 0, selection.indexOf(':') ).toString() );
  if( index< data.length ) {
    try {
      // the document must be 'disclosed' for us to have any access
      // to its properties, so we use these FirstPage NextPage calls
      //
      app.openDoc( data[index][1] );
      app.execMenuItem( "FirstPage" );
      for( ii= 0; ii< data[index][2]; ++ii ) {
        app.execMenuItem( "NextPage" );
      }
    }
    catch( ee ) {
      var response= 
        app.alert("Error trying to open the requested document.\nShould I remove this bookmark?", 2, 2);
      if( response== 4 && index< data.length ) {
        data.splice( index, 1 );
        SaveData( data );
      }
    }
  }
}

function DropBookmark() {
  // modelled after ShowBookmarks()
  var data= GetData();
  var items= '';
  for( ii= 0; ii< data.length; ++ii ) {
    if( ii!= 0 )
      items+= ', ';
    items+= '"'+ ii+ ': '+ data[ii][0]+ '"';
  }
  var command= 'app.popUpMenu( '+ items+ ' );';
  var selection= eval( command );
  if( selection== null ) {
    return; // exit
  }

  var index= 0;
  index= eval( selection.substring( 0, selection.indexOf(':') ).toString() );
  if( index< data.length ) {
    data.splice( index, 1 );
    SaveData( data );
  }
}

function ClearBookmarks() {
  if( app.alert("Are you sure you want to erase all bookmarks?", 2, 2 )== 4 ) {
    SaveData( new Array(0) );
  }
}

app.addMenuItem( {
cName: "-",              // menu divider
cParent: "View",         // append to the View menu
cExec: "void(0);" } );

app.addMenuItem( {
cName: "Bookmark This Page &5",
cParent: "View",
cExec: "AddBookmark();",
cEnable: "event.rc= (event.target != null);" } );

app.addMenuItem( {
cName: "Go To Bookmark &6",
cParent: "View",
cExec: "ShowBookmarks();",
cEnable: "event.rc= (event.target != null);" } );

app.addMenuItem( {
cName: "Remove a Bookmark",
cParent: "View",
cExec: "DropBookmark();",
cEnable: "event.rc= (event.target != null);" } );

app.addMenuItem( {
cName: "Clear Bookmarks",
cParent: "View",
cExec: "ClearBookmarks();",
cEnable: "event.rc= true;" } );

 

Participant
January 16, 2025

I tried this solution (copying and pasting the code), and it worked perfectly!
Just a note: after opening Acrobat, allow about 1 minute for the code to load.

Before installing, I inspected the code and found nothing malicious in it.

I'm using Adobe Acrobat Reader Version 2024.005.20320 (64-bit) in Brazilian Portuguese. In Portuguese, the View menu is called "Exibição" (or "Visualizar"), but the script still worked as expected.


Thank you, Yetilanduk!

P.S.: I tested this in a second PDF and it returned an error when I tried to create a bookmark, I still don't know why.