未处理的错误:未定义的变量:PDFJS仅适用于Opera

时间:2017-02-04 09:32:04

标签: javascript pdf pdfjs

我使用如下导入的pdfjs

<script type="text/javascript" src="https://rawgithub.com/mozilla/pdf.js/gh-pages/build/pdf.js"></script>

我有将PDF渲染到画布的脚本:

function renderPDF(url, canvas_name, scale) {
    function renderPage(page) {
        var canvas = $("#"+canvas_name)[0];
        var ctx = canvas.getContext('2d');
        var viewport = page.getViewport(canvas.width / page.getViewport(scale).width);
        var renderContext = {

          canvasContext: ctx,
          viewport: viewport
        };

        canvas.height = viewport.height;
        canvas.width = viewport.width;

        page.render(renderContext);
    }
    function renderPages(pdfDoc) {
        pdfDoc.getPage(1).then(renderPage);
    }
    PDFJS.disableWorker = true;
    PDFJS.getDocument(url).then(renderPages);
}; 

它与Chrome和Firefox完美配合。但是对于Opera,我收到了以下错误

Unhandled Error: Undefined variable: PDFJS

我做错了什么?

修改

现在我注意到,在Firefox中我在控制台中收到错误表格pdf.js(尽管它按预期工作):

Error: Invalid parameter in getDocument, need either Uint8Array, string or a parameter object

1 个答案:

答案 0 :(得分:0)

当我下载pdfjs并在本地使用时,问题就解决了,就像mplungjan建议的那样。

此外,有必要按照以下顺序在模板中加载更多文件:

<script src="js/pdfjs/web/compatibility.js"></script>
<script src="js/pdfjs/build/pdf.js"></script>
<script src="js/pdfjs/build/pdf.worker.js"></script>