const pdfList = document.querySelector(‘.pdfList‘) // 存放的转换后的图片位置
this.blobToBase64(decodedBase64).then(async(res) => { // pdf base64 转换
// 转化后的base64
// PDFJS.cMapPacked = true // 解决电子签章问题
// cMapUrl: CMAP_URL,
PDFJS.GlobalWorkerOptions.workerSrc = pdfWorker
const base64 = res.substring(res.indexOf(‘,‘) + 1) // 获得bas464编码
const decodedBase64NEw = atob(base64) // 转换成 新的 base64
const pdf = await PDFJS.getDocument({ data: decodedBase64NEw, cMapUrl: cmapsnew,
cMapPacked: true }) // 返回一个pdf对象
const canvas = document.createElement(‘canvas‘) // 创建cavas
const page = await pdf.getPage(1) // 获取pdf 第一页 内容
const scale = 2.0// 缩放倍数,1表示原始大小
const viewport = page.getViewport(scale)
const context = canvas.getContext(‘2d‘) // 创建绘制canvas的对象
canvas.height = viewport.height * 2 // 定义canvas高和宽
canvas.width = viewport.width * 2
const renderContext = {
canvasContext: context,
viewport: viewport
}
await page.render(renderContext)
canvas.className = ‘canvas‘ // 给canvas节点定义一个class名,这里我取名为canvas
pdfList.appendChild(canvas) // 插入到pdfList节点的最后
this.imgurl = canvas.toDataURL(‘image/png‘)