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");
  }
相关推荐
YIAN几秒前
React + Zustand + JWT 前端权限体系完整实现:从登录鉴权到路由守卫全流程拆解
前端·react.js·架构
汉堡大王95275 分钟前
面试必考:手写代码 new 做了什么?从原理到实现全解析
前端·javascript·面试
lisin-lee-cooper8 分钟前
【leetcode658】有序数组找出k个最接近x的数
java·数据结构·算法
sunburn-16 分钟前
Java堆(Heap)详解与实战教学
java·开发语言·数据结构·ide·算法
Kyrie_kk16 分钟前
Java--TimeUnit时间单位枚举类(时间单位规范)
java·后端
BillKu29 分钟前
TypeScript中,字符串字面量联合类型(Union Type)、enum的用法说明
前端·javascript·typescript
jayson.h31 分钟前
PDF 合并+添加页码 相关库、类、函数
开发语言·前端·python
念何架构之路36 分钟前
beego总体架构与工程结构
java·架构·beego
典典分享指南44 分钟前
用飞书多维表格搭建内容管理看板
java·python·r语言·composer·symfony
慧一居士2 小时前
Sass和Less功能、使用场景、用法对比
前端·css·less·sass