Vue3使用PDFJS将后端查到的二进制数据转为图片

如果想实现将后端二进制转pdf请看我另一篇文章

VUE3中使用PDF.js实现二进制转PDF预览功能_pdfjs 二进制-CSDN博客

代码如下:

javascript 复制代码
<template>
<img :src="imageUrl" style=" width: 267.3mm; max-height: 189mm" />
</template>

const imageUrl = ref();
imageUrl.value = await convertPdfPageToImageUrl(data);

async function convertPdfPageToImageUrl(pdfData) {
    GlobalWorkerOptions.workerSrc = "/public/static/pdf/build/pdf.worker.mjs";
    const loadingTask = await getDocument({ data: pdfData });
    const pdfDocument = await loadingTask.promise;
    const pageNumber = 1;
    const pdfPage = await pdfDocument.getPage(pageNumber);

    const canvas = document.createElement("canvas");
    const context = canvas.getContext("2d");

    const viewport = pdfPage.getViewport({ scale: 1.0 });
    canvas.width = viewport.width;
    canvas.height = viewport.height;

    await pdfPage.render({
      canvasContext: context!,
      viewport: viewport
    }).promise;
    return canvas.toDataURL("image/png");
  }
相关推荐
不可能片场3 分钟前
Electron 发布 正文写入的三条通道与读回口径
前端·electron
程序员大阳6 分钟前
副队长JavaScript教程(66)-本地存储实战:待办事项网页的开发
javascript·json·实战·待办事项·本地存储·案例
jerrywus13 分钟前
让 AI 帮你部署 Vercel,报错了也不用手动搬日志
前端·agent·mcp
补码缩写19 分钟前
11 行 Python 拆 PNG 块,解压后的字节数能手算
前端
coding漫漫长路22 分钟前
PNG压缩先看图是哪一类,先无损再量化多半白做
前端
用户2576807632122 分钟前
搜「洗牙」为什么搜不到「洁治」
前端
费曼学习法29 分钟前
Agent 死循环的根因不在模型:错误分类、退避、熔断、快照四层实现
前端
修炼的dance30 分钟前
同一张PNG换五种压法,体积差在颜色数上
前端
Lank_M31 分钟前
PNG 有损压缩省下的体积,大头不在 deflate
前端
用户老李1 小时前
相机模型与标定自学教程 02:外参 \[R | t] 与完整投影链路
前端