If you have the file data as a base64 string, the best way to load the document in PDF.js Express is to first convert it to a Blob and then load it as described for Blobs. Below are some example code showing how to convert base64 to a Blob.
function base64ToBlob(base64) {
const binaryString = window.atob(base64);
const len = binaryString.length;
const bytes = new Uint8Array(len);
for (let i = 0; i < len; ++i) {
bytes[i] = binaryString.charCodeAt(i);
}
return new Blob([bytes], { type: 'application/pdf' });
};
WebViewer(...)
.then(instance => {
instance.loadDocument(base64ToBlob(myBase64String), { filename: 'myfile.pdf' });
const { docViewer } = instance;
docViewer.on('documentLoaded', () => {
// perform document operations
});
});
function base64ToBlob(base64) {
const binaryString = window.atob(base64);
const len = binaryString.length;
const bytes = new Uint8Array(len);
for (let i = 0; i < len; ++i) {
bytes[i] = binaryString.charCodeAt(i);
}
return new Blob([bytes], { type: 'application/pdf' });
};
WebViewer(...)
.then(instance => {
instance.UI.loadDocument(base64ToBlob(myBase64String), { filename: 'myfile.pdf' });
const { documentViewer } = instance.Core;
documentViewer.addEventListener('documentLoaded', () => {
// perform document operations
});
});