使用firefox扩展中的pdf.js打开本地pdf文件

时间:2013-04-23 00:06:14

标签: firefox-addon pdf.js

我正在使用pdf.js从firefox附加组件中的pdf文件中提取注释。除了打开本地pdf文件外,一切都很顺利。 PDFJS.getDocument('http://...').then(function(pdf) { ...有效但PDFJS.getDocument('file:///...').then(function(pdf) {没有。 我收到此错误:Unexpected server response (0) while retrieving PDF ...

这是跨域问题吗?我认为这应该不是问题,因为我的代码是从扩展程序运行的。我该如何解决这个问题?

2 个答案:

答案 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) {.....})   
    
}