2016-06-10 19 views
0

Ich versuche, PDFNet/PDFTron WebViewer in einer Electron-basierten Anwendung zu verwenden. Der Benutzer sollte in der Lage sein, eine Datei aus dem lokalen Dateisystem zum Öffnen auszuwählen. Aber beim Übergeben einer Datei: // URL für initialDoc bekomme ich immer den Fehler Error retrieving file: file:///Users/mat/Desktop/document-generator/xod/Anchoring/Anchoring.xod?_=-22,. Received return status 0..Öffnen von Datei-URLs in PDFNet/PDFTron WebViewer

Hat jemand eine Idee, wie das gelöst werden könnte? Das Kopieren der Datei in einen Ordner in der Nähe von index.html und die Verwendung einer relativen URL ist keine Option, da die PDF-Dokumente ziemlich groß sind.

Antwort

0

Die initialDoc-Eigenschaft scheint das URI-Schema file:// nicht zu unterstützen. Allerdings können Sie PDF-Dateien öffnen, direkt im Browser durch das File API HTML5 verwenden, und dann mit der loadLocalFile Funktion (versteckt?):

<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> 

Eine solche Funktionalität ist auch in der WebViewer online demo demonstriert. Beachten Sie, dass documentId und documentType auf "pdf" eingestellt werden müssen, damit dies funktioniert.

+0

Vielen Dank für den Tipp. Aber das scheint nur mit dem HTML5-Viewer zu funktionieren. Wenn Sie den html5mobile Viewer verwenden, gibt es keine Methode loadLocalFile und getInstance gibt undefined zurück. Gibt es vielleicht eine Möglichkeit, XOD auch aus dem lokalen Dateisystem zu öffnen und, noch wichtiger, auch im html5mobile-Modus? – Mato