{"version":3,"sources":["webpack:///./src/views/pdf.vue","webpack:///./src/components/pdf/getPdfjsDist.js","webpack:///./src/components/pdf/pdf.js","webpack:///src/views/pdf.vue","webpack:///./src/views/pdf.vue?d153","webpack:///./src/views/pdf.vue?a92e"],"names":["render","_vm","this","_c","_self","staticStyle","attrs","staticRenderFns","getJavsScript","src","Promise","resolve","reject","script","document","createElement","onload","onerror","body","append","getCss","href","link","setAttribute","getPdfjsDist","pdfjsDistPath","then","all","name","props","url","type","String","default","data","pdfViewer","pdfLinkService","currentScale","loadingTask","methods","onPagesInit","source","currentScaleValue","pdfjsLib","window","pdfjsViewer","CMAP_URL","GlobalWorkerOptions","workerSrc","error","container","$refs","eventBus","EventBus","PDFLinkService","PDFViewer","linkService","renderer","textLayerMode","downloadManager","DownloadManager","enableWebGL","setViewer","on","renderPdf","destroy","getDocument","cMapUrl","cMapPacked","promise","pdfDocument","destroyed","setDocument","catch","console","log","mounted","pdfLibInit","watch","_cancelRendering","h","arguments","components","pdf","component"],"mappings":"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","file":"js/pdf.6396c72f.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"width\":\"320px\",\"height\":\"560px\"}},[_c('pdf',{attrs:{\"url\":\"https://ebook.t.educg.com/fileDownloadPDF.out?fid=64b8b173a2f25a13be7fa228\",\"type\":\"canvas\"}}),_c('pdf',{attrs:{\"url\":\"https://ebook.t.educg.com/fileDownloadPDF.out?fid=64b8b173a2f25a13be7fa228\",\"type\":\"svg\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// src/components/pdf/getPdfjsDist.js\nconst getJavsScript = (src) => {\n return new Promise((resolve, reject) => {\n const script = document.createElement('script')\n \n script.onload = resolve\n script.onerror = reject\n \n script.src = src\n document.body.append(script)\n })\n }\n \n const getCss = (href) => {\n return new Promise((resolve, reject) => {\n const link = document.createElement('link')\n \n link.onload = resolve\n link.onerror = reject\n \n link.setAttribute('rel', 'stylesheet')\n link.setAttribute('type', 'text/css')\n link.href=href\n document.body.append(link)\n })\n }\n \n const getPdfjsDist = (pdfjsDistPath) => {\n return getJavsScript(`${pdfjsDistPath}/pdfjs-dist/build/pdf.js`)\n .then(() => {\n return Promise.all([\n getJavsScript(`${pdfjsDistPath}/pdfjs-dist/web/pdf_viewer.js`),\n getCss(`${pdfjsDistPath}/pdfjs-dist/web/pdf_viewer.css`)\n ])\n })\n }\n \n export default getPdfjsDist","\n// src/components/pdf/pdf.js\nimport getPdfjsDist from '@/components/pdf/getPdfjsDist'\n\nexport default {\n name: 'Pdf',\n props: {\n url: {\n type: String,\n default: ''\n },\n type: {\n type: String,\n default: 'svg'\n },\n pdfjsDistPath: {\n type: String,\n default: '.'\n }\n },\n data() {\n return {\n pdfViewer: null,\n pdfLinkService: null,\n currentScale: 'page-width',\n loadingTask: null\n }\n },\n\n methods: {\n onPagesInit({source}) {\n source.currentScaleValue = this.currentScale\n },\n async pdfLibInit() {\n let pdfjsLib = window.pdfjsLib;\n let pdfjsViewer = window.pdfjsViewer\n if (!pdfjsLib || !pdfjsViewer) {\n try {\n await getPdfjsDist(this.pdfjsDistPath)\n this.CMAP_URL = `${this.pdfjsDistPath}/pdfjs-dist/cmaps/`\n pdfjsLib = window.pdfjsLib;\n pdfjsLib.GlobalWorkerOptions.workerSrc = `${this.pdfjsDistPath}/pdfjs-dist/build/pdf.worker.js`\n pdfjsViewer = window.pdfjsViewer\n } catch (error) {\n // console.log(error)\n // pdfjs文件获取失败\n return\n }\n }\n\n const container = this.$refs.container\n const eventBus = new pdfjsViewer.EventBus();\n\n // (Optionally) enable hyperlinks within PDF files.\n const pdfLinkService = new pdfjsViewer.PDFLinkService({\n eventBus: eventBus,\n });\n this.pdfLinkService = pdfLinkService\n const pdfViewer = new pdfjsViewer.PDFViewer({\n container: container,\n eventBus: eventBus,\n linkService: pdfLinkService,\n renderer: this.type,\n textLayerMode: 0,\n downloadManager: new pdfjsViewer.DownloadManager({}),\n enableWebGL: true\n });\n this.pdfViewer = pdfViewer\n pdfLinkService.setViewer(pdfViewer);\n\n eventBus.on(\"pagesinit\", this.onPagesInit);\n },\n renderPdf() {\n if (!this.url) { return }\n // Loading document.\n if (this.pdfViewer === null || this.pdfLinkService === null) {\n return\n }\n if (this.loadingTask !== null) {\n this.loadingTask.destroy()\n this.loadingTask = null\n }\n this.loadingTask = window.pdfjsLib.getDocument({\n cMapUrl: this.CMAP_URL,\n cMapPacked: true,\n url: this.url,\n });\n return this.loadingTask.promise.then((pdfDocument) => {\n if (pdfDocument.loadingTask.destroyed || !this.url) { return }\n this.pdfViewer.setDocument(pdfDocument)\n this.pdfLinkService.setDocument(pdfDocument, null);\n this.loadingTask = null\n }).catch(error => {\n console.log(error)\n });\n }\n },\n mounted() {\n this.pdfLibInit().then(() => {\n this.renderPdf()\n })\n },\n watch: {\n url() {\n // 如果存在pdfViewer则取消渲染\n if(this.pdfViewer) {\n this.pdfViewer._cancelRendering()\n }\n this.renderPdf()\n }\n },\n render() {\n return (\n