我正在尝试在基于电子的应用程序中使用PDFNet / PDFTron WebViewer。用户应该能够从本地文件系统中选择要打开的文件。但是当我为initialDoc传递一个file:// URL时,我总是得到错误的Error retrieving file: file:///Users/mat/Desktop/document-generator/xod/Anchoring/Anchoring.xod?_=-22,. Received return status 0.。
有没有人知道如何解决这个问题?复制index.html附近的文件夹中的文件并使用相对URL不是一种选择,因为PDF文档非常大。
发布于 2016-06-12 21:53:16
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"才能正常工作。
https://stackoverflow.com/questions/37749799
复制相似问题