Vue2中使用firefox的pdfjs进行文件文件流预览

news/2024/11/7 9:44:10/

文章目录

  • 1.使用场景
  • 2. 使用方式
    • 1. npm 包下载,[点击查看](https://www.npmjs.com/package/pdfjs-dist)
    • 2. 官网下载
      • 1. 放到public文件夹下面
      • 2. 官网下载地址[点我,进入官网](https://github.com/mozilla/pdf.js/tags?after=v3.3.122)
    • 3. 代码演示
    • 4. 图片预览
    • 5. 如果遇到跨域或者application/octet-stream等问题

1.使用场景

pdf链接或者pdf文件流的预览

2. 使用方式

1. npm 包下载,点击查看

npm i pdfjs-dist // 此种方式,不过多介绍,网上都是

2. 官网下载

1. 放到public文件夹下面

在这里插入图片描述

2. 官网下载地址点我,进入官网

由于是github可能有些网络进不去,可以通过网盘下载
链接: https://pan.baidu.com/s/1cG06QTtWwTSTSzOPWy5NQg?pwd=rcnm 提取码: rcnm

3. 代码演示

<template><div class="pdf-preview"><el-row><el-col :span="24"><el-button @click="handleChooseLocalFile" type="primary">选择本地文件</el-button></el-col></el-row><iframe class="pdf-iframe" :src="previewURL" width="100%" height="800px" v-if="previewURL"></iframe></div>
</template>
<script>
export default {name: "pdfPreview",data() {return {// public 下面的路径pdfJsViewer: "/pdfjs-4.8.69/web/viewer.html",fileUrl: "/pdfjs-4.8.69/web/compressed.tracemonkey-pldi-09.pdf",};},computed: {previewURL() {return this.fileUrl ? `${this.pdfJsViewer}?file=${encodeURIComponent(this.fileUrl)}` : "";},},methods: {handleChooseLocalFile() {let input = document.createElement("input");input.type = "file";input.accept = ".pdf";input.multiple = false;input.onchange = (e) => {let file = e.target.files[0];if (file) {this.fileUrl = URL.createObjectURL(file);}};input.click();input.remove();},},
};
</script><style scoped lang="scss">
.inner-tool {display: flex;flex-direction: column;
}
.pdf-preview {flex: 1;
}
.pdf-iframe {margin-top: 20px;height: calc(100vh - 150px);
}
</style>

4. 图片预览

在这里插入图片描述

5. 如果遇到跨域或者application/octet-stream等问题

参考大佬 平凡的人类 空白


http://www.ppmy.cn/news/1545025.html

相关文章

无人机避障——大疆与Airsim中的角速度信息订阅获取

本文先将Airsim仿真中的角速度信息获取弄好&#xff0c;然后再将大疆SDK中的角速度话题订阅一下&#xff0c;并验证获取角速度信息&#xff0c;后续为DWA动态窗口法替代PID作为局部路径规划做足准备。 Airsim中的角速度信息获取 Airsim无人机状态获取&#xff1a;getMultirot…

数据结构题集-第二章-线性表-连接链表并安全释放

说明 本文参照严蔚敏《数据结构(C语言版)题集》一书中包含的问答题和算法设计题目&#xff0c;提供解答和算法的解决方案。请读者在自己已经解决了某个题目或进行了充分的思考之后&#xff0c;再参考本解答&#xff0c;以保证复习效果。由于作者水平所限&#xff0c;本解答中一…

基于Spring Boot和Vue的电子商城系统功能设计

基于Spring Boot和Vue的电子商城系统功能设计 该系统是一个基于Spring Boot和Vue框架的电子商城平台&#xff0c;包含前台商城和后台管理系统。系统功能设计包括用户购物体验和管理员管理功能&#xff0c;支持商品的分类展示、收藏、购物车和订单管理等模块。以下是系统功能的简…

jmeter脚本-请求体设置变量and请求体太长的处理

目录 1、查询接口 1.1 准备组织列表的TXT文件&#xff0c;如下&#xff1a; 1.2 添加 CSV数据文件设置 &#xff0c;如下&#xff1a; 1.3 接口请求体设置变量&#xff0c;如下&#xff1a; 2、创建接口 2.1 见1.1 2.2 见1.2 2.3 准备创建接口的请求体TXT文件&#xff…

多级物联网(IoT)基础异构无线传感器网络(HWSNs)中的节点角色选择与轮换方案以提高能效

英文标题&#xff1a;Node Role Selection and Rotation Scheme for Energy Efficiency in Multi-Level IoT-Based Heterogeneous Wireless Sensor Networks (HWSNs) 作者信息&#xff1a; Tamoor ShafiqueAbdel-Hamid SolimanAnas AmjadLorna UdenDebi Marie Roberts 以上作…

yolo继续训练模型

使用YOLO训练好自己的模型并持续训练 一、断点续传二、在上次训练结果的基础上继续开始训练三、last.pt 和 best.pt区别 运行环境&#xff1a;Ubuntu18.04 anaconda虚拟环境 一、断点续传 对于上次训练时意外中断的情况 将patser中第9个参数resume&#xff0c;设置为default…

代谢组数据分析(二十一):通过MetaboAnalystR标准化构建sPLSDA预测模型

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍MetaboAnalystR标准化sPLSDA分析安装需要的R包加载R包导入数据MetaboAnalystR标准化数据初始化数据清洗数据补足数据过滤数据标准化导出结果sPLSDA分析导入数据数据预处理PCA分析PL…

「Mac畅玩鸿蒙与硬件32」UI互动应用篇9 - 番茄钟倒计时应用

本篇将带你实现一个番茄钟倒计时应用&#xff0c;用户可以设置专注时间和休息时间的时长&#xff0c;点击“开始专注”或“开始休息”按钮启动计时&#xff0c;应用会在倒计时结束时进行提醒。番茄钟应用对于管理时间、提升工作效率非常有帮助&#xff0c;并且还会加入猫咪图片…