| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- // To add a new version, copy and adjust one of the `importPDFJS*` functions below,
- // add the variant to the "switch" statement, and add to `pdfjsVersions` in webpack.config.js
- import 'core-js/stable/global-this' // polyfill for globalThis (used by pdf.js)
- import 'core-js/stable/promise/all-settled' // polyfill for Promise.allSettled (used by pdf.js)
- import getMeta from '@/utils/meta'
- import { createWorker } from '@/utils/worker'
- async function importPDFJS401() {
- const cMapUrl = '/js/pdfjs-dist401/cmaps/'
- const standardFontDataUrl = '/fonts/pdfjs-dist401/'
- const imageResourcesPath = '/images/pdfjs-dist401/'
- // ensure that PDF.js is loaded before importing the viewer
- const PDFJS = await import('pdfjs-dist401/legacy/build/pdf')
- const [PDFJSViewer] = await Promise.all([
- import('pdfjs-dist401/legacy/web/pdf_viewer'),
- import('pdfjs-dist401/legacy/web/pdf_viewer.css'),
- ])
- createWorker(() => {
- PDFJS.GlobalWorkerOptions.workerPort = new Worker(
- new URL('pdfjs-dist401/legacy/build/pdf.worker.mjs', import.meta.url) // NOTE: .mjs extension
- )
- })
- return {
- PDFJS,
- PDFJSViewer,
- cMapUrl,
- imageResourcesPath,
- standardFontDataUrl,
- }
- }
- async function importPDFJS213() {
- const cMapUrl = '/js/pdfjs-dist213/cmaps/'
- const standardFontDataUrl = '/fonts/pdfjs-dist213/'
- const imageResourcesPath = '/images/pdfjs-dist213/'
- // ensure that PDF.js is loaded before importing the viewer
- const PDFJS = await import('pdfjs-dist213/legacy/build/pdf')
- const [PDFJSViewer] = await Promise.all([
- import('pdfjs-dist213/legacy/web/pdf_viewer'),
- import('pdfjs-dist213/legacy/web/pdf_viewer.css'),
- ])
- createWorker(() => {
- PDFJS.GlobalWorkerOptions.workerPort = new Worker(
- new URL('pdfjs-dist213/legacy/build/pdf.worker.js', import.meta.url)
- )
- })
- return {
- PDFJS,
- PDFJSViewer,
- cMapUrl,
- imageResourcesPath,
- standardFontDataUrl,
- }
- }
- async function importPDFJS() {
- const variant = getMeta('ol-pdfjsVariant', 'default')
- // NOTE: split test variants must have at least 3 characters
- switch (variant) {
- case '213':
- case 'default':
- return importPDFJS213()
- case '401':
- return importPDFJS401()
- }
- }
- export default importPDFJS()
|