Skip to main content
Participant
November 15, 2017
Answered

edit children bookmarks

  • November 15, 2017
  • 1 reply
  • 1109 views

Hello,

I am trying to delete all of the second level bookmarks from my pdf.

I am able to delete the first top level bookmark and it's child with the following code:

if (this.bookmarkRoot.children != null && this.bookmarkRoot.children.length > 0) {

      for (var i = 0; i < this.bookmarkRoot.children.length; i++) {

            this.bookmarkRoot.children.remove();

      }

   }

However, but i am not sure how to change the code to only delete the second level (children of the children?) book marks.

Any help would be much appreciated.

This topic has been closed for replies.
Correct answer Thom Parker

Here's a real simple way to remove all the top level bookmarks

this.bookmarkRoot,remove();

That's all you need.

Now for the 2nd level bookmarks, the code has to dig down into the second level

for (var i = 0; i < this.bookmarkRoot.children.length; i++)

{

     var bkmk = this.bookmarkRoot.children;

     if(bkmk.children)   bkmk.children.forEach(function(a){a.remove()});

}

1 reply

Thom Parker
Community Expert
Thom ParkerCommunity ExpertCorrect answer
Community Expert
November 15, 2017

Here's a real simple way to remove all the top level bookmarks

this.bookmarkRoot,remove();

That's all you need.

Now for the 2nd level bookmarks, the code has to dig down into the second level

for (var i = 0; i < this.bookmarkRoot.children.length; i++)

{

     var bkmk = this.bookmarkRoot.children;

     if(bkmk.children)   bkmk.children.forEach(function(a){a.remove()});

}

Thom Parker - Software Developer at PDFScriptingUse the Acrobat JavaScript Reference early and often
Participant
November 15, 2017

perfect thank you!!