0

我使用如下导入的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
4

1 回答 1

0

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

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

<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>
于 2017-02-04T10:54:42.280 回答