引用错误:加载 pdf 时未定义 PDFJS

问题描述 投票:0回答:2

我正在尝试使用 pdf.js 将 pdf 加载到 Web 应用程序中,以便我可以进一步从 pdf 文件中实时提取信息。但我用一个非常小的例子得到了这个错误。

我尝试将代码包装在 $(document).ready() 中,如 Uncaught ReferenceError: PDFJS is not Defined wheninitializing PDF.JS

我也无法在控制台中访问 PDFJS。

下面是我正在使用的代码(来自https://www.sitepoint.com/custom-pdf-rendering/

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8"/>
    <title>PDF.js Learning</title>
  </head>
  <body>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script type="text/javascript" src="https://mozilla.github.io/pdf.js/build/pdf.js"></script>
    <script type="text/javascript" src="https://mozilla.github.io/pdf.js/build/pdf.worker.js"></script>
    <script>
    $(document).ready(function () {
    var url = "https://github.com/mozilla/pdf.js/blob/master/web/compressed.tracemonkey-pldi-09.pdf";

// Asynchronous download PDF
PDFJS.getDocument(url)
  .then(function(pdf) {
    return pdf.getPage(1);
  })
  .then(function(page) {
    // Set scale (zoom) level
    var scale = 1.5;

    // Get viewport (dimensions)
    var viewport = page.getViewport(scale);

    // Get canvas#the-canvas
    var canvas = document.getElementById('the-canvas');

    // Fetch canvas' 2d context
    var context = canvas.getContext('2d');

    // Set dimensions to Canvas
    canvas.height = viewport.height;
    canvas.width = viewport.width;

    // Prepare object needed by render method
    var renderContext = {
      canvasContext: context,
      viewport: viewport
    };

    // Render PDF page
    page.render(renderContext);
  });
  })
  </script>
  <canvas id='the-canvas'></canvas>
  </body>
</html>
javascript html pdf.js
2个回答
17
投票

pdfjsLib.getDocument()
有效。现在我只需要知道为什么......


0
投票

也许我会选择那个页面。 解决了我的疑问。 2.0 版本删除了 PDFJS 对象并使用 pdfjsLib。

[The global PDFJS object is removed in version 2.0, so the tutorial you're using is out of date for that version. Refer to the examples folder for how to use PDF.js 2.0, for example]
https://github.com/mozilla/pdf.js/blob/master/examples/learning/helloworld.html

© www.soinside.com 2019 - 2024. All rights reserved.