Я пытаюсь прочитать файл, хранящийся в файловой системе (Android), а затем поместить содержимое на холст, используя библиотеку pdfjs, чтобы я мог представить его в поле зрения. То же самое и с системным просмотрщиком PDF, и это сработало, но мне нужно позже немного покрасить его и манипулировать, чтобы его нельзя было отобразить в программе просмотра, оно должно быть в моем приложении.
Рендеринг моего pdf-файла работает нормально, так как я проверил его в режиме прямой перезагрузки.
Ниже читаем код
readFile( pathToFile ){
this.file.resolveLocalFilesystemUrl( pathToFile).then((fileEntry: any) => {
fileEntry.file( (file) => {
var reader = new FileReader();
reader.onloadend = (event) => {
const x = event.target as any;
// let sliced = x._result.slice(x._result.indexOf(',') + 1, x._result.length);
console.log('item', x)
console.log('item', x.result)
console.log('buffer',new Uint8Array(x.result))
// console.log('64', new Uint8Array(x._result));
// const bytes = this.base64ToUint8Array(sliced)
this.renderPDF(x.result, this.container.nativeElement, 1)
};
reader.readAsArrayBuffer(file);
});
});
}
вот журналы:
как вы видите, pdf1 - это последний журнал, поэтому обещание от getDocument не разрешается:
renderPDF(url, canvasContainer, scale) {
console.log('pdf1')
this.pdfCreator.disableWorker = true;
this.pdfCreator
.getDocument(url)
.then((doc) => {
this.doc = doc;
console.log('pdf2')
this.renderPages(canvasContainer, scale);
})
.catch(err => console.log(err))
}
Я провел на нем два дня без разборок ...