如何解决如何使用 cdn 导入 pdf.js
我想将 pdf.js 用于我的一个项目,但我遇到了导入问题,基本上,CDN 不起作用
这是我的代码
<!DOCTYPE html>
<html lang="en">
<head>
<Meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.jsdelivr.net/npm/pdfjs-dist@2.7.570/build/pdf.min.js"></script>
</head>
<body>
<canvas id="my-canvas"></canvas>
<script>
pdfjsLib.getDocument('./ahmed.pdf').then(doc => {
console.log("this file has" + doc._pdfInfo.numPages);
});
</script>
</body>
</html>
已弃用的 API 用法:未指定“GlobalWorkerOptions.workerSrc”。
未捕获的类型错误:pdfjsLib.getDocument(...).then 不是函数
那么我该怎么做才能解决这个问题,非常感谢您
解决方法
您必须将 GlobalWorkerOptions.workerSrc
设置为相同版本的 /build/pdf.worker(.min).js
:
pdfjsLib.GlobalWorkerOptions.workerSrc =
"https://cdn.jsdelivr.net/npm/pdfjs-dist@2.7.570/build/pdf.worker.min.js"; ?
pdfjsLib.getDocument('./ahmed.pdf').promise.then(doc => {
console.log(`This document has ${doc._pdfInfo.numPages} pages.");
});
并且,正如@Pasi 所提到的,您必须通过在 .getDocument()
上链接 .promise
来承诺 .then()
。没有它,就没有 for (const item of urls) {
const url = item.url
const ID = url.slice((url.search("=",0) + 1),url.length)
const YtResponse = GetByIdYouTube(ID)
const data = await YtResponse
const date = item.date
const newItem = {data,url,date}
setDisplay(display.concat(newItem))
}
}; ```
。
请参阅此页面上的“带有文档加载错误处理的 Hello World”示例以开始使用:https://mozilla.github.io/pdf.js/examples/
(您的代码段在 .promise
之后缺少 getDocument()
并设置了 workerSrc
属性)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。