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");
  }
相关推荐
持续前行几秒前
通过 npm 下载node_modules 某个依赖 ;例如 下载 @rollup/rollup-linux-arm64-gnu
前端·javascript·vue.js
Advancer-4 分钟前
RedisTemplate 两种序列化实践方案
java·开发语言·redis
java1234_小锋22 分钟前
Java高频面试题:MyBatis如何实现动态数据源切换?
java·开发语言·mybatis
Embrace92425 分钟前
React Native + Realm 离线方案处理
javascript·react native·react.js·realm
墨神谕31 分钟前
Java中,为什么要将.java文件编译成,class文件,而不是直接将.java编译成机器码
java·开发语言
chenyingjian35 分钟前
鸿蒙|能力特性-统一文件预览
前端·harmonyos
毛骗导演35 分钟前
OpenClaw 沙箱执行系统深度解析:一条 exec 命令背后的安全长城
前端·架构
天才聪42 分钟前
鸿蒙开发vs前端开发1-父子组件传值
前端
卡尔特斯43 分钟前
Android Studio 代理配置指南
android·前端·android studio
Nyarlathotep011344 分钟前
并行设计模式(3):Future模式
java·后端