0

我正在尝试使用 pdf.js 的一个非常基本的示例。我要做的就是渲染并显示一个包含来自 github 的 hello-world 代码的翡翠模板。我在节点应用程序中运行它。pdf.js 文件是 ~node make generic 命令的结果。

模板是:

body
  canvas(id='the-canvas')
  script(type="text/javascript", src="/scripts/dependencies/pdf.js")
  script(type="text/javascript", src="/scripts/dependencies/compatibility.js")
  script(type="text/javascript")
    'use strict';
    PDFJS.disableWorker = true;

    PDFJS.getDocument('/tmp/util_ac.pdf').then(function(data){
      var pdf = new PDFJS.PDFDoc(data);
      var page = pdf.getPage(1);
      var scale = 1.5;
      var canvas = document.getElementById('the-canvas');
      var context = canvas.getContext('2d');
      canvas.height = page.height * scale;
      canvas.width = page.width * scale;

      page.startRendering(context);
    });

我的错误信息是这样的

注意:我设置 disableWorker=true 因为否则会出现 .workerSrc 错误

    Warning: Setting up fake worker. pdf.js:1418
TypeError: undefined is not a function
    at http://localhost:8000/docs/viewer:51:13
    at Object.Promise_resolve [as resolve].transportDoc 
4

1 回答 1

0

我在没有 的情况下尝试了您的代码disableWorker=true,因为否则永远不会调用承诺,并且在项目中还包含 pdf.worker.js (由 生成的另一个文件node make generic),所以我没有收到 .workerSrc 错误(它到底是什么?)。此外,PDFDoc在我使用的 pdf.js 版本中,构造函数似乎已过时 - 0.8.0。进行这些更改,PDF 加载正常。

于 2014-02-06T12:50:15.753 回答