钉钉中预览打印PDF问题(无法使用blob地址)
使用pdfjs-dist预览文件依赖npminstallpdfjs-dist2.14.305组件templatedividpageContainerdividviewer/div/div/templatescriptimportpdfjs-dist/web/pdf_viewer.css;import*aspdfjsLibfrompdfjs-dist;import*aspdfjsViewerfrompdfjs-dist/web/pdf_viewer;importpdfjs-dist/build/pdf.worker.entry;import*aspdfjsSandboxfrompdfjs-dist/build/pdf.sandbox.js;pdfjsLib.GlobalWorkerOptions.workerSrcwindow.pdfjsWorker;exportdefault{name:PdfViewer,props:{pdfBlob:{type:Blob,required:true}},components:{},methods:{blobToArrayBuffer(blob){returnnewPromise((resolve,reject){constreadernewFileReader();reader.onload()resolve(reader.result);reader.onerrorreject;reader.readAsArrayBuffer(blob);});}},asyncmounted(){if(!pdfjsLib.getDocument||!pdfjsViewer.PDFViewer){alert(Please build the pdfjs-dist library using\n gulp dist-install);}constCMAP_URL./cmaps/;constCMAP_PACKEDtrue;constENABLE_XFAtrue;constSEARCH_FOR;constSANDBOX_BUNDLE_SRCpdfjsSandbox;constcontainerdocument.getElementById(pageContainer);consteventBusnewpdfjsViewer.EventBus();constpdfLinkServicenewpdfjsViewer.PDFLinkService({eventBus});constpdfFindControllernewpdfjsViewer.PDFFindController({eventBus,linkService:pdfLinkService});constpdfScriptingManagernewpdfjsViewer.PDFScriptingManager({eventBus,sandboxBundleSrc:SANDBOX_BUNDLE_SRC});constpdfViewernewpdfjsViewer.PDFViewer({container,eventBus,linkService:pdfLinkService,findController:pdfFindController,scriptingManager:pdfScriptingManager,enableScripting:true});pdfLinkService.setViewer(pdfViewer);pdfScriptingManager.setViewer(pdfViewer);eventBus.on(pagesinit,function(){pdfViewer.currentScaleValue1.5;if(SEARCH_FOR){eventBus.dispatch(find,{type:,query:SEARCH_FOR});}});constarrayBufferawaitthis.blobToArrayBuffer(this.pdfBlob);constloadingTaskpdfjsLib.getDocument({data:arrayBuffer,cMapUrl:CMAP_URL,cMapPacked:CMAP_PACKED,enableXfa:ENABLE_XFA});constpdfDocumentawaitloadingTask.promise;pdfViewer.setDocument(pdfDocument);pdfLinkService.setDocument(pdfDocument,null);}};/scriptstyle#pageContainer{position:absolute;overflow:hidden;width:100%;text-align:center;}#pageContainer .page{display:inline-block;position:relative;overflow:hidden;box-sizing:border-box;margin-bottom:2px;}#pageContainer #viewer .page{width:auto!important;}#pageContainer #viewer .page .canvasWrapper{width:auto!important;}#pageContainer #viewer .page .textLayer{width:auto!important;}#pageContainer #viewer .page .annotationLayer{width:auto!important;}/style打印npminstallvue-print-nb1.7.5templatedividprintDivdivv-iffileType application/pdfPdfViewer:pdfBlobpreviewUrl//divdivstyletext-align:center;v-elseimg:srcpreviewUrl//div/diva-buttontypeprimaryv-printprintMe打印/a-button/templatescriptimportPdfViewerfrom./PdfViewer.vue;importPrintfromvue-print-nb;import*asddfromdingtalk-jsapi;exportdefault{name:Preview,// 预览components:{PdfViewer},directives:{Print},data(){return{previewUrl:,printMe:{// 打印区域id:printDiv,// 是否有打印预览preview:false},fileType:};}}/script