Pdfjslib.getdocument(…).then is not a function

Explanation

The error message “pdfjslib.getdocument(…).then is not a function” usually occurs when the method getdocument() is not a promise-based function and does not support the .then() method.

In JavaScript, the .then() method is used to handle the result of a promise. When a function is expected to return a promise, you can chain the .then() method to perform actions once the promise is resolved or rejected.

To resolve this error, you need to make sure that pdfjslib.getdocument() is returning a promise. Here’s an example on how to correctly use promises with pdfjslib.getdocument():

    
      pdfjslib.getdocument(url).promise.then(function(pdf) {
        // Here you can perform actions on the PDF document
        console.log("PDF loaded successfully!");

        // Example: render the first page
        pdf.getPage(1).then(function(page) {
          var scale = 1.5;
          var viewport = page.getViewport({ scale: scale });

          var canvas = document.getElementById('pdf-canvas');
          var context = canvas.getContext('2d');
          canvas.height = viewport.height;
          canvas.width = viewport.width;

          var renderContext = {
            canvasContext: context,
            viewport: viewport
          };
          page.render(renderContext);
        });
      }).catch(function(error) {
        console.log("Error loading PDF:", error);
      });
    
  

In the above example, pdfjslib.getdocument(url) returns a promise, and we can then chain the .then() method to access the loaded PDF document. Inside the .then() function, we can perform actions on the PDF document, such as rendering pages.

Same cateogry post

Leave a comment