我正在尝试使用 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>
pdfjsLib.getDocument()
有效。现在我只需要知道为什么......
也许我会选择那个页面。 解决了我的疑问。 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