Question:
How to add search in bookmarks in PDF.js
Answer:
Add this code to viewer.html inside this div
<div class=\"splitToolbarButton toggled\">
<input type=\"search\" style=\"width: 100%;\" value=\'\' placeholder=\"Find in bookmraks\" class=\"toolbarField\" onkeyup=\"filterBookmarks(this.value)\"/>
Then add this javascript code to the end of viewer.html
<script>
function filterBookmarks(searchText){
var found = new Array();
var bookMarks = document.getElementsByClassName(\'outlineItem\');
if(searchText.trim() != \'\'){
// var bookMarks = document.getElementById(\"outlineView\");
for(var i=0;i < bookMarks.length; i++){
var text = bookMarks[i].firstChild.innerText;
if(text.includes(searchText)){
found.push(bookMarks[i]);
bookMarks[i].style.display = \"block\";
// console.log(\'bookMarks: \', bookMarks[i]);
}else{
bookMarks[i].style.display = \"none\";
}
}
}
// display all text
if(searchText.trim() == \'\' || found.length == 0)
for(var i=0;i < bookMarks.length; i++){
bookMarks[i].style.display = \"block\";
}
}
</script>
