1

I am using primefaces documentViewer which is based on mozilla PDF.js: 2.11.338

https://www.primefaces.org/showcase-ext/views/documentViewer.jsf

and I want to know How to detect when documentViewer finish loading all document pages ?

The requirement is to show loading bar until all the document pages finish loading.

I tried this :

document.addEventListener('textlayerrendered', function (e) {
    if (e.detail.pageNumber === PDFViewerApplication.page) {
        // finished rendering
    }
}, true);

and it's not working.

Mahmoud Saleh
  • 33,303
  • 119
  • 337
  • 498

1 Answers1

1

I was able to make it work as follows :

window.onload = function(){
         
        PF('statusDialog').show();
         var checkExist = setInterval(function() {
                var iframe=document.getElementsByTagName('iframe')[0];
               var innerDoc = iframe.contentDocument || iframe.contentWindow.document;
                var viewer = innerDoc.getElementById('viewer');
                var innerHTML = viewer.innerHTML;
                if(innerHTML != null && innerHTML!='' && innerHTML!='undefined'){
                    clearInterval(checkExist);
                    PF('statusDialog').hide();
                }              
          }, 1000);  
        
}
Mahmoud Saleh
  • 33,303
  • 119
  • 337
  • 498