我试图在基于电子的应用程序中使用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文档非常大。
答案 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中得到证明。请注意,documentId
和documentType
必须设置为"pdf"
才能生效。