我已经使用create-react应用程序构建了一个react应用程序,它使用react-pdf显示pdf。当我输入一个指向磁盘上某个文件的文件名时,这个方法工作得很好,但是当我输入一个url时,我得到了一个"Failed to load PDF“错误。我尝试了多个urls,但都失败了。在控制台中,我还收到了以下警告,从一些谷歌搜索似乎指的是一个webpack不兼容,尽管我得到它与我正在尝试显示的文件类型无关:
./node_modules/pdfjs-dist/build/pdf.js关键依赖项: require函数的使用方式不能静态提取依赖项
我使用的是以下版本: react-pdf (4.1.10),react -scripts (3.0.1),webpack (4.29.6),react (16.12.0)。
我还按照建议在代码顶部执行了以下导入等操作:
import React, { Component } from 'react';
import { Document, Page, pdfjs } from 'react-pdf';
pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;似乎其他人也有这个问题,但很难找到解决方案。我试图显示的文件的一个示例是: file="https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf“
感谢任何人的帮助!
发布于 2020-08-07 22:43:52
我不知道它是否仍然有帮助,但我今天努力解决了这个问题。解决方案是将一个对象传递给Document组件中的file prop。
<Document
file={{
url:
'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf',
}}
onLoadSuccess={onDocumentLoadSuccess}
>https://stackoverflow.com/questions/60244738
复制相似问题