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");
  }
相关推荐
denlaku11 分钟前
JDK 10 新特性详解
java·开发语言
xixichensh12 分钟前
前端转做AI程序员第一步——开发一个AI流式对话Demo
前端
程序员耄耋15 分钟前
JDK21的下载与安装(2025.8.2)
java
~木雨19 分钟前
Java 线程从生到死:创建三式、六态流转、中断协作与死锁活锁饥饿,一篇讲透
java·java并发·虚拟线程·死锁·线程状态·中断机制
梓雨枔20 分钟前
JavaScript+快速学习,简单好用~
javascript·学习
木易 士心25 分钟前
JavaScript 闭包原理和实践深度解析
开发语言·javascript·ecmascript
Wang's Blog26 分钟前
Java框架 SpringCloud 快速入门: Nacos 服务多级存储模型
java·spring·spring cloud
小羊没烦恼!26 分钟前
系统内部模块(子系统)之间的耦合以及模块(子系统)划分
java·开发语言·前端·数据库·算法·c#
Chase_______28 分钟前
【杂项知识点】一文搞懂 JVM、JRE 与 JDK:从概念混淆到生产部署
java·开发语言·jvm
Leslie16529 分钟前
聚合不只是 GROUP BY:HashAggregate 与 SortAggregate 的内存账本
前端