在PDFNet / PDFTron WebViewer中打开文件URL

时间:2016-06-10 13:41:04

标签: javascript pdftron pdfnet

我试图在基于电子的应用程序中使用PDFNet / PDFTron WebViewer。用户应该能够从本地文件系统中选择要打开的文件。但是,当传递initialDoc的文件://网址时,我总是收到错误Error retrieving file: file:///Users/mat/Desktop/document-generator/xod/Anchoring/Anchoring.xod?_=-22,. Received return status 0.

有没有人知道如何解决这个问题?将文件复制到接近index.html的文件夹中并使用相对URL不是一种选择,因为PDF文档非常大。

1 个答案:

答案 0 :(得分:0)

initialDoc属性似乎不支持file:// URI方案。但是,您可以使用HTML5的File API直接在浏览器中打开PDF,然后使用(隐藏?)loadLocalFile函数:

<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>

<script>
$(function() 
{
   var viewerElement = document.getElementById("viewer");
   window.myWebViewer = new PDFTron.WebViewer({
       documentId: "pdf",
       documentType: "pdf",
       path: "lib",
       type: "html5",
       initialDoc: "GettingStarted.pdf"
   }, viewerElement);
});

document.getElementById('files').addEventListener('change', handleFileSelect, false);
function handleFileSelect(e) 
{
  var files = e.target.files; // FileList object
  console.log("Loading file " + files[0].name);
  window.myWebViewer.getInstance().loadLocalFile(files[0], {});
}

</script>

这种功能也在WebViewer online demo中得到证明。请注意,documentIddocumentType必须设置为"pdf"才能生效。