-
Notifications
You must be signed in to change notification settings - Fork 17
/
lpdfjs.js
30 lines (27 loc) · 803 Bytes
/
lpdfjs.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
if (typeof window !== 'undefined' && window.document) {
const pdfjsUrl = '/resources/pdfjs/pdf.min.js'
let pPdfjsLib = new Promise((resolve, reject) => {
let scriptTag = document.createElement('script')
scriptTag.src = pdfjsUrl
scriptTag.addEventListener('load', function (evt) {
let p = window['pdfjs-dist/build/pdf']
if (!p) {
reject(new Error('pdfjs failed to load.'))
} else {
resolve(p)
}
})
document.body.appendChild(scriptTag)
})
module.exports = (src, onLoadTaskReceived = null) => {
return pPdfjsLib.then(pdfjsLib => {
let loadTask = pdfjsLib.getDocument(src)
if (onLoadTaskReceived) {
onLoadTaskReceived(loadTask)
}
return loadTask.promise
})
}
} else {
module.exports = null
}