base64在线展示pdf,pdf放大预览预览效果
下载插件pdfjs-dist
// 下载插件pdfjs-dist
yarn add pdfjs-dist
页面使用
<div class="commit-img" id="commit_img" @click="previewImage(base64Img)">
<canvas id="canvas-pdf" style="width: 100%;"></canvas>
</div>
<van-image-preview v-model="previewShow" v-if="previewShow">
</van-image-preview>
import PDFJS from 'pdfjs-dist'
methods: {
renderPdfEvn (pdfUrl) {
PDFJS.getDocument(pdfUrl).then(pdf => {
let totalPage = pdf.numPages
for (let i = 1; i <= totalPage; i++) {
pdf.getPage(i).then((page) => {
let viewport = page.getViewport(1)
let canvas = document.getElementById('canvas-pdf')
let context = canvas.getContext('2d')
canvas.height = viewport.height
canvas.width = viewport.width
let renderContext = {
canvasContext: context,
viewport
}
page.render(renderContext)
})
}
})
},
canvasToImageEvn () {
let previewImg = new Image()
this.previewCanvas = document.querySelector('#canvas-pdf')
this.previewContext = this.previewCanvas.getContext('2d')
this.previewContext.drawImage(previewImg, 0, 0)
previewImg.src = this.previewCanvas.toDataURL('image/png')
this.previewImgBsae64 = previewImg.src.split(',')[1]
return previewImg.src
}
}