- браузер: Chrome
- среды: Grails приложение локального
Я бег приложение Grails на локальном хосте (который я знаю, что есть проблема с pdf.js и локальная файловая система) и вместо использования файла: url, который, как я знаю, будет терпеть неудачу. Я прохожу в типизированном массиве javascript, и он все еще не работает. Правильно это не говорит мне ничего, кроме «Предупреждение: создание поддельного работника». и тогда он ничего не делает.pdf.js неудачи на 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);
});
Мне интересно, не настроен ли я правильно? Могу ли я использовать эту библиотеку исключительно на стороне клиента, просто включив в нее файл pdf.js или мне нужно включить viewer.js тоже? а также я заметил файл совместимости ... настройка не очень ясна, и в этом примере работает FIDDLE, а у меня нет, и я не понимаю разницы. Также, если я использую url, поставляемый в этом примере, он также говорит то же самое.
Что utilities.base64ToBinary делает возвращение? Если это не Uint8Array, тогда это не сработает. Кроме того, добавьте второй обратный вызов ошибки к вызову 'then', который покажет причину сбоя. – async5
@ async5 Я отредактировал свой вопрос, чтобы включить функцию, которую я использую, чтобы создать Uint8Array, чтобы def создать массив правильно. Такая же ошибка возникает, когда я использую URL-адрес, указанный в примере скрипта, так что происходит что-то еще. Позвольте мне попробовать функцию ошибки и посмотреть, какие урожаи. – btm1
@ async5 Каков формат функции ошибки? Это так? : PDFJS.getDocument (data) .then (function() {}). Error (function (data) {}); Это не работает. – btm1