我正在使用pdf.js
从firefox附加组件中的pdf文件中提取注释。除了打开本地pdf文件外,一切都很顺利。 PDFJS.getDocument('http://...').then(function(pdf) { ...
有效但PDFJS.getDocument('file:///...').then(function(pdf) {
没有。
我收到此错误:Unexpected server response (0) while retrieving PDF ...
这是跨域问题吗?我认为这应该不是问题,因为我的代码是从扩展程序运行的。我该如何解决这个问题?
答案 0 :(得分:1)
将文件读入Uint8Array并将其作为source
传递给getDocument
。
答案 1 :(得分:0)
这是一个简化的JS,仅对我有用 - 首先将文件作为数组缓冲区(e.target.result)获取,然后将其转换为Uint8数组,并将其作为数据(docInitParams)而不是URL传递给PDF.js
var reader = new FileReader();
reader.readAsArrayBuffer(input.files[0]);
reader.onload = function (e) {
var myData = new Uint8Array(e.target.result)
var docInitParams = { data: myData };
PDFJS.getDocument(docInitParams).then(function(pdf) {.....})
}