当前位置: 首页 > article >正文

vue 预览pdf 【@sunsetglow/vue-pdf-viewer】开箱即用,无需开发

@sunsetglow/vue-pdf-viewer

开箱即用的pdf插件@sunsetglow/vue-pdf-viewer, vue3 版本 无需多余开发,操作简单,支持大文件 pdf 滚动加载,缩放,左侧导航,下载,页码,打印,文本复制,等功能

在这里插入图片描述

移动端展示

在这里插入图片描述

举个栗子

  • 首先就是我们先去安装我们的npm 包
yarn add @sunsetglow/vue-pdf-viewer
npm i @sunsetglow/vue-pdf-viewer
pnpm i @sunsetglow/vue-pdf-viewer
  • 话不多说直接上代码
 
 <template>
  <div id="pdf-container"></div>
</template>
<script lang="ts" setup>
import { initPdfView } from "@sunsetglow/vue-pdf-viewer";
import "@sunsetglow/vue-pdf-viewer/dist/style.css";
import { onMounted } from "vue";
const loading = ref(false);
const pdfPath = new URL(
  "@sunsetglow/vue-pdf-viewer/dist/libs/pdf.worker.min.mjs",
  import.meta.url
).href;
onMounted(() => {
  loading.value = true;
  initPdfView(document.querySelector("#pdf-container") as HTMLElement, {
    loadFileUrl: `https:xxx.pdf`, //文件路径
    pdfPath: pdfPath, // pdf.js 里需要指定的文件路径
    loading: (load: boolean) => {
      loading.value = load;
      //加载完成会返回 false
    },
    pdfOption: {
      scale: true, //缩放
      pdfImageView: true, //pdf 是否可以单片点击预览
      page: true, //分页查看
      navShow: true, //左侧导航
      navigationShow: false, // 左侧导航是否开启
      pdfViewResize: true, // 是否开启resize 函数 确保pdf 根据可视窗口缩放大小
      toolShow: true, // 是否开启顶部导航
      download: true, //下载
      clearScale: 1.5, // 清晰度 默认1.5 感觉不清晰调大 ,当然清晰度越高pdf生成性能有影响
      fileName: "preview.pdf", // pdf 下载文件名称
      lang: "en", //字典语言
      print: true, //打印功能
      customPdfOption: {
        // customPdfOption是 pdfjs getDocument 函数中一些配置参数 具体可参考 https://mozilla.github.io/pdf.js/api/draft/module-pdfjsLib.html#~DocumentInitParameters
        cMapPacked: true, //指定 CMap 是否是二进制打包的
        cMapUrl: "https://cdn.jsdelivr.net/npm/pdfjs-dist@2.2.228/cmaps/", //预定义 Adob​​e CMaps 所在的 URL。可解决字体加载错误
      },
      textLayer: true, //文本是否可复制 , 文本复制和点击查看大图冲突建议把 pdfImageView 改为false
    },
  });
});
</script>

<style scoped>
#pdf-container {
  width: 100%;
  padding: 0px;
  height: 100%;
}
</style>
 

  • 最简单ctrl+c ctrl+v

  • 但是我们需要注意的是pdfPath这个参数 pdfPath 需要一个指向 pdf.worker.min.mjs 文件的路径

  • 做完以上步骤我们大功告成了

  • 参数说明

参数名称内容 说明
loadFileUrl文件地址(必选)
pdfPathpdf.js 里所需的 pdf.worker.min.mjs 指向地址(必选)
pdfOptionpdf 的配置选项 (可选)
loadingpdf 加载完成执行函数 (可选)
  • 如果该插件对你有帮助希望可以去 github 去帮忙点个Star

http://www.kler.cn/a/410269.html

相关文章:

  • sql工具!好用!爱用!
  • Unity中动态生成贴图并保存成png图片实现
  • ElasticSearch学习了解笔记
  • React的基本知识:事件监听器、Props和State的区分、改变state的方法、使用回调函数改变state、使用三元运算符改变state
  • MariaDB面试题及参考答案
  • Windows系统编程 - 进程遍历
  • 基于Matlab SIR模型的传染病动态模拟与扩展研究
  • Django 自定义路由转换器
  • 以科学计算为切入点:剖析英伟达服务器过热难题
  • 函数和数组
  • SAP 零售方案 CAR 系统的介绍与研究
  • 2024年11月25日Github流行趋势
  • 李宏毅机器学习课程知识点摘要(1-5集)
  • 深度解析:Nginx模块架构与工作机制的奥秘
  • FPGA经验谈系列文章——9、块储存器的高效使用
  • Enhancing K8s Gateway API with Easegress Without Changing a Single Line of Code
  • 【数据结构】通过对比二叉查找树、平衡二叉树和B树,对MySQL中的B+树讲解
  • 企业OA管理系统:Spring Boot技术架构与应用
  • Spring Boot英语知识网站:开发与优化
  • AI服务器核心部件产业链升级分析
  • mac终端配置-支持 git branch
  • 数字图像处理(4):FPGA中的定点数、浮点数
  • wsl2的Ubuntu18.04安装ros和anaconda
  • 后端开发详细学习框架与路线
  • 基于python的机器学习(三)—— 关联规则与推荐算法
  • 3D可视化产品定制,打造“所见即所得”的购物体验!