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");
  }
相关推荐
可乐配鸡翅8 分钟前
day seven 猜数字小游戏
java
张小凡vip10 分钟前
Java Web 设置 Session 超时时间:如何让 Session 永不失效
java·spring boot
浪里摸鱼11 分钟前
Java 泛型快速学习指南(面向接口扫描场景)
java
球球不吃虾16 分钟前
Nuxt在使用过程中的一些小总结(二)
前端·vue·nuxt
我是大猴子22 分钟前
redis执行get等命令时底层操作
java
叶总没有会31 分钟前
微服务--分布式基础
java·spring·spring cloud·微服务
朝屯暮蒙vi32 分钟前
随记:h5+中uploader不能添加参数数据,要通过task
javascript
鹿角片ljp33 分钟前
Prompt Cache、Token 成本与 Plan Compiler 的工程设计
java·python·算法
Wang's Blog1 小时前
Java 接入Redis: 五大数据类型与存储结构选型
java·服务器·redis
Wang's Blog1 小时前
Java 接入Redis: 字符串与哈希类型操作命令
java·服务器·redis