Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript PDFJS:pdfDoc为空_Javascript_Html_Web_Pdf.js - Fatal编程技术网

Javascript PDFJS:pdfDoc为空

Javascript PDFJS:pdfDoc为空,javascript,html,web,pdf.js,Javascript,Html,Web,Pdf.js,我正在尝试声明一个自定义pdf对象。以下是pdf类: function WhiteBoardPdf(canvasContext,url){ PDFJS.disableWorker = false; var pdfDoc=null, scale=1, pageNum=1; PDFJS.getDocument(url).then(function getPdf(_pdfDoc) { console.log('getting

我正在尝试声明一个自定义pdf对象。以下是pdf类:

function WhiteBoardPdf(canvasContext,url){
    PDFJS.disableWorker = false;

    var pdfDoc=null,
        scale=1,
        pageNum=1;

    PDFJS.getDocument(url).then(function getPdf(_pdfDoc) {
        console.log('getting pdfDoc');
        pdfDoc = _pdfDoc;
        //self.load(_pdfDoc,scale);
        renderPage(pageNum);
    });

    function numberOfPage(){
        console.log('getting number of page');
        return pdfDoc.numPages;
    }

    function renderPage(num){
        var ctx=canvasContext;
        var canvas=ctx.canvas;
        var canvasName=canvas.className;
        var allCanvas=document.getElementsByClassName(canvasName);
        var canvasContainer=document.getElementById("whiteBoardLayerContainer");
        // Using promise to fetch the page
        pdfDoc.getPage(num).then(function(page) {
        var viewport = page.getViewport(scale);

        for(i=0;i<allCanvas.length;i++){
            allCanvas[i].height=viewport.height;
            allCanvas[i].width=viewport.width;
        }
        canvasContainer.style.width=viewport.width+'px';
        // Render PDF page into canvas context
        var renderContext = {
          canvasContext: ctx,
          viewport: viewport
        };
        page.render(renderContext);
      });
    }

    this.renderPageByPageNum=function(num){
        pageNum=num;
        renderPage(pageNum);
    }

    this.getNumberOfPages=function(){
        return numberOfPage();
    }

    this.getPdfDoc=function(){
        return pdfDoc;
    }
}

我无法在主程序或其他类中使用getNumberOfPages方法获取页数。有人能教我如何解决这个问题吗?

只有在调用函数getPdf_pdfDoc{后,才能调用numberOfPage。阅读有关承诺的信息/A+,网址为
getting number of page WhiteBoardPdf.js:17
Uncaught TypeError: Cannot read property 'numPages' of null WhiteBoardPdf.js:18
getting pdfDoc