- del browser: Chrome
- ambiente: graal app localhost
Sono in esecuzione un'applicazione graal su host locale (che so che c'è un problema con il pdf.js e file system locale) e invece di utilizzare un file: url che so che non riuscire sto passando in un array javascript digitato e non funziona ancora. Per essere corretti non mi sta dicendo altro che "Attenzione: impostare un falso lavoratore". e poi non fa nulla.pdf.js non riuscendo a GetDocument
this.base64ToBinary = function(dataURI) {
var BASE64_MARKER = ';base64,';
var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
var base64 = dataURI.substring(base64Index);
var raw = window.atob(base64);
var rawLength = raw.length;
var array = new Uint8Array(new ArrayBuffer(rawLength));
for(i = 0; i < rawLength; i++) {
array[i] = raw.charCodeAt(i);
}
return array;
};
PDFJS.disableWorker = true; // due to CORS
// I convert some base64 data to binary data here which comes back correctly
var data = utilities.base64ToBinary(result);
PDFJS.getDocument(data).then(function (pdf) {
//nothing console logs or reaches here
console.log(pdf);
}).catch(function(error){
//no error message is logged either
console.log("Error occurred", error);
});
Mi chiedo se non l'ho impostato correttamente? Posso usare questa libreria esclusivamente dal lato client includendo semplicemente pdf.js o devo includere anche viewer.js? e ho notato anche il file di compatibilità ... l'impostazione non è molto chiara e questo esempio funziona FIDDLE e il mio no e non sto capendo la differenza. Anche se uso l'url fornito in quell'esempio dice anche la stessa cosa.
Cosa utilities.base64ToBinary fa ritorno? Se non è Uint8Array, allora non funzionerà. Inoltre, aggiungi il secondo callback di errore alla chiamata 'then', che mostrerà il motivo dell'errore. – async5
@ async5 Ho modificato la mia domanda per includere la funzione che sto usando per creare l'Uint8Array e sta creando l'array correttamente. Lo stesso errore viene dato quando uso l'URL fornito nell'esempio di fiddle, quindi qualcos'altro sta succedendo. Fammi provare la funzione di errore e vedere quali sono i rendimenti. – btm1
@ async5 qual è il formato per la funzione di errore? È così? : PDFJS.getDocument (data) .then (function() {}). Error (function (data) {}); Non sembra funzionare. – btm1