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

vue2+ element ui 集成pdfjs-dist

目录

  • 1. 下载Pdf.js
    • 1.1 下载
    • 1.2 修改配置
      • 1.2.1 将pdfjs-3.8.162-dist复制到项目中
      • 1.2.2 解决跨域问题
      • 1.2.3 将pdf.worker.js文件复制到public目录下
      • 1.2.4 安装 pdfjs-dist
      • 1.2.5 前端vue代码(示例)
  • 3. 参考资料

1. 下载Pdf.js

1.1 下载

下载链接(官方)需要进行以下配置:https://mozilla.github.io/pdf.js/

在这里插入图片描述
在这里插入图片描述
下载以后得到一个文件夹
在这里插入图片描述

1.2 修改配置

1.2.1 将pdfjs-3.8.162-dist复制到项目中

复制到public目录下 不要放在src目录下 否则会造成一些不必要的异常
在这里插入图片描述

1.2.2 解决跨域问题

pdfjs-3.8.162-dist/web/viewer.js 中注释掉以下代码
在这里插入图片描述

1.2.3 将pdf.worker.js文件复制到public目录下

pdfjs-3.8.162-dist/build/pdf.worker.js

在这里插入图片描述

在复制后的pdf.worker.js文件中添加以下代码

module.exports = {
  configureWebpack: {
    module: {
      rules: [
        {
          test: /\.worker.js$/,
          use: { loader: 'worker-loader' }
        }
      ]
    }
  }
}

在这里插入图片描述

以上代码中用到了worker-loader需要安装worker-loader

npm install worker-loader@3.0.8 --registry=https://registry.npmmirror.com

1.2.4 安装 pdfjs-dist

npm install pdfjs-dist@2.6.347 --registry=https://registry.npmmirror.com

1.2.5 前端vue代码(示例)

<template>
  <div>
    <iframe :src="url" name="PDF报告" style="width: 100%; height: 90vh;" />
  </div>
</template>

<script>
export default {
  name: 'PDF',
  data() {
    return {
      url: ''
    }
  },
  mounted() {
    this.getPdf()
  },
  methods: {
    // 获取pdf
    async getPdf() {
      this.url = `/pdfjs-3.8.162-dist/web/viewer.html?file=${encodeURIComponent('修改为自己的pdf链接')}`
    }
  }
}
</script>

3. 参考资料

链接: https://juejin.cn/post/7260313574378537019


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

相关文章:

  • C++11(四)---可变参数模板
  • ChromeDriver 官方下载地址_测试自动化浏览器驱动
  • Spring 中的 BeanDefinitionParserDelegate 和 NamespaceHandler
  • 如何知道表之间的关系(为了知识图谱的构建)
  • v-html 富文本中图片使用element-ui image-viewer组件实现预览,并且阻止滚动条
  • PyAEDT:Ansys Electronics Desktop API 简介
  • VSCode+ESP-IDF开发ESP32-S3-DevKitC-1(1)开发环境搭建
  • 数据结构习题——有效的括号(栈),栈与队列和互相实现,循环队列的实现
  • MongoDb语法之(大于、小于、大于或等于、小于或等于、不等于)
  • Android fragment ,在Activity崩溃的时候,fragment碎片就会重叠,这样处理,完美
  • GaussDB部署架构
  • #UniApp篇:uni面试题
  • BERT的中文问答系统34
  • 解决背景图因为图片路径中携带括号导致图片无法显示的问题
  • 内容占位符:Kinetic Loader HTML+CSS 使用CSS制作三角形原理
  • SQL面试题——抖音SQL面试题 最大在线用户数
  • Android OpenGLES2.0开发(八):Camera预览
  • 鸿蒙中如何实现图片拉伸效果
  • 计算机网络 (4)计算机网络体系结构
  • 分享一个小米手环自定义表盘安装教程与下载(支持最新小米手环9pro)
  • day01(单片机高级)单片机控制ESP8266连接TCP
  • 自制C++游戏头文件:C++自己的游戏头文件!!!(后续会更新)
  • JMeter中添加请求头
  • 3. Django中的URL调度器 (re_path 和正则表达式)
  • Linux运维篇-iscsi存储搭建
  • 每日练习(字节青训)