uniapp实现在线PDF文件预览


下载pdf文件放在static文件夹下
bug:hbuildX创建的项目pdf文件夹可以放在根目录下面,但是cli创建的项目无法预览,只能放在static下面

按钮跳转预览页面
<button @click="toPdf">pdf</button>methods: {toPdf() {uni.navigateTo({url: './course/pdf'})}}
预览页面
重点:1、viewerUrl的路径
<template><view class="content"><web-view :src="url1" @message="handlePostMessage"></web-view><!-- <web-view src="https://cn.bing.com/" @message="handlePostMessage"></web-view> --></view>
</template><script>
/* uni页面通信文档* https://ask.dcloud.net.cn/article/35083* 组件使用pdf.js源码修改了部分内容* 只需要完成web-view监听页数并与uni通信即可* @kklxx 2022/12/09修复组件通信*/
import {computed
} from "vue";
export default {data() {return {viewerUrl: '/static/pdf/web/viewer.html', // 注意:静态的html文件需要放在根路径下的 hybrid/html 文件夹中fileUrl: "", // 要访问的本地pdf的路径url1: '', // 最终显示在web-view中的路径// currentPage: 1, //初始页totalPage: 0, //总页码currentReadPage: 0, //当前页码};},onLoad(options) {this.fileUrl = "http://103.213.97.43:8081/group1/M00/00/EF/wKgAoWVEZgiAA8tOAAtT0ZynsZE457.pdf"/* 初始页面 */this.pageInt(); //获取pdfs数据},mounted() {/* H5页面通信方式 */// #ifdef H5window.addEventListener("message", this.ReceiveMessage);// #endif},//页面销毁前beforeDestroy() {uni.removeStorage({ //清除pdf留下的缓存,不干扰新的pdf载入key: 'pdfjs.history',success() {// console.log("removeStorage", res)}})},methods: {//页面初始化pageInt() {this.url1 = `${this.viewerUrl}?file=${encodeURIComponent(this.fileUrl)}&page=` + 1;console.log(this.url1, 99)},/* * 做成监听滚动条判断更好* *///uni 组件通信 监听handlePostMessage(data) {let arr = data.detail.data.pop()this.totalPage = arr[0].totalPage //总页数this.currentReadPage = arr[1].page + 1 //当前页数console.log("app:", this.totalPage, this.currentReadPage);},//h5 监听ReceiveMessage(event) {if (event.data && event.data.data && event.data.data.arg) {this.totalPage = event.data.data.arg[0].totalPagethis.currentReadPage = event.data.data.arg[1].page + 1}console.log("app:11111111", event, this.totalPage, this.currentReadPage);},//页面销毁前动作addBrowseRecord() {// console.log("总页数:",this.totalPage);// console.log("当前页数:",this.currentReadPage);},}
};
</script><style lang="scss" scoped></style>
相关文章:
uniapp实现在线PDF文件预览
下载pdf文件放在static文件夹下 bug:hbuildX创建的项目pdf文件夹可以放在根目录下面,但是cli创建的项目无法预览,只能放在static下面 按钮跳转预览页面 <button click"toPdf">pdf</button>methods: {toPdf() {uni.…...
Python tkinter实现复刻Windows记事本UI和菜单的文本编辑器(一)
下一篇:Python tkinter实现复刻Windows记事本UI和菜单的文本编辑器(二)-CSDN博客 介绍: Windows操作系统中自带了一款记事本应用程序,通常用于记录文字信息,具有简单文本编辑功能。Windows的记事本可以新…...
【系统架构设计】架构核心知识: 3.3 DSSA和ABSD
目录 一 特定领域软件架构DSSA 1 DSSA 2 DSSA的基本活动和产物 3 参与DSSA的人员 4 建立过程...
Git的安装和常用命令Git与SVN的区别Gitee远程仓库团队开发代码共享演示
目录 一、Git入门 1.1 Git简介 1.2 Git与SVN的区别 1.2.1 详解 1.2.2 图解 1.3 Git相较于SVN的优势与劣势 1.3.1 Git的优势与劣势 1.3.2 SVN的优势与劣势 1.4 Git的工作流程 1.4.1 图解 1.4.2 详解 二、Git的安装以及常用命令 2.1 Git官网链接 2.2 安装步骤 2.…...
五、计算机网络
(一)OSI/RM 七层模型 七层模型是计算机网络的基石,整个计算机网络是构建与七层模型之上的。 在数据链路层,数据开始以帧为单位,网卡的 MAC 地址就是数据帧的地址,数据的传输开始有地址了。 局域网是工作…...
使用Grafana与MySQL监控监控网络延迟
文章目录 前言python程序使用Grafana步骤1:安装和配置 Grafana步骤2:配置 Grafana 数据源步骤3:创建 Grafana 仪表盘步骤4:将 Grafana 仪表盘嵌入到博客中 前言 在网络应用中,网络延迟是一个重要的指标,它…...
互联网常见职称
1、管理层 CEO – Chief Executive Officer 首席执行官 VP – Vice President 副总裁 HRD – Humen Resource Director 人力资源总监 OD – Operations Director 运营总监 MD – Marketing Director 市场总监 GM – General Manager 总经理 PM – Production Manager 产品…...
UI设计软件有哪些好用和免费的吗?
在我们分享五个有用的原型工具之前,完成原型,将优化界面,这次是UI设计师的任务,UI设计软件对设计师非常重要,UI设计工具是否使用直接影响最终结果,然后有人会问:UI界面设计使用什么软件…...
Linux开发工具之编译器gcc/g++
文章目录 1.查看版本2.程序的翻译3.gcc指令3.1gcc hello.c -o hello3.2gcc -E hello.c -o hello.i3.3gcc -S hello.c -o hello.s3.4gcc -c hello.c -o hello.o3.5gcc hello.o -o hello 4.动静态库[详讲链接阶段]4.1初步认识4.2动态链接4.3静态链接 1.查看版本 gcc -v. 2.程序…...
【Kurbernetes资源管理】陈述式资源管理方式
陈述式 一、 理论部分1.1 管理K8s资源的基本方法1.1.1 陈述式资源管理方式1.1.2声明式资源管理方式1.1.3 GUI式资源管理方法 1.2 陈述式资源管理方式1.2.1 Kubelet工具简介1.2.2 kubectl 的基本语法1.2.3 Kubectl工具的自动补全功能 1.3 Kubernetes Service1.4 Service 的类型(…...
flink测试map转换函数和process函数
背景 在flink中,我们需要对我们写的map转换函数,process处理函数进行单元测试,测试的内容包括查看函数的输出结果是否符合以及函数内的状态是否正确更新,本文就记录几个测试过程中的要点 flink中测试函数 首先我们根据我们要测…...
【跟小嘉学习JavaWeb开发】第一章 开发环境搭建
系列文章目录 【跟小嘉学习JavaWeb开发】第一章 开发环境搭建 文章目录 系列文章目录[TOC](文章目录) 前言一、JDK的下载与安装1.1、关于JDK的版本问题 二、环境变量配置2.1、配置 JAVA_HOME、CLASSPATH2.2、配置path2.3、启动 cmd 三、编写代码、编译并执行3.1、编写代码&…...
CSS语法、选择器、属性
1.css语法 * 格式:选择器 {属性名1:属性值1;属性名2:属性值2;...}* 选择器:筛选具有相似特征的元素* 注意:* 每一对属性需要使用;隔开,最后一对属性可以不加 2.选择器:筛选具有相似特征的元素 * 分类:1. 基…...
深度学习读取txt训练数据绘制参数曲线图的方法
有一些深度学习模型是并不像yolo系列那样最终输出相应的参数图,有很多训练形成了一个训练log文件,于是需要读取log文件中的内容并绘制成曲线图。 如下实例,有一个log文件的部分截图,需要将其读取出来并绘制曲线图 废话不多说&…...
VB.NET—DataGridView控件教程详解
目录 前言: 过程: 第一步: 第二步: 第三步: 第四步: 第五步: 番外篇: 总结: 前言: DataGridView是.NET FormK中的一个Windows窗体控件,它提供了一个可视化的表格控件,允许用户以表格形式显示和编辑数据。它通常用于显示和编辑数据库…...
MCU测试科普|如何进行MCU芯片测试,具体流程是什么?
MCU芯片测试系统是一种专门用于检测MCU芯片性能和质量的综合性设备。它通常由硬件和软件两部分组成,硬件包括测试仪器、适配器、测试夹具等,用于连接被测MCU芯片和测试机,实现高效高精度的测试。软件部分通常包括测试程序、测试管理软件等&am…...
单向循环代码实现cpp
// 单向循环链表 class CircleLink { public:CircleLink(){head_ new Node();tail_ head_;head_->next_ head_;}~CircleLink(){Node* p head_->next_;while (p ! head_){head_->next_ p->next_;delete p;p head_->next_;}delete head_;}public:// 尾插法 …...
【原创】java+jsp+servlet简单图书管理系统设计与实现
摘要: 图书管理系统是一个专门针对图书馆管理而设计的系统,它可以帮助图书管理员有效的对图书进行管理,在图书管理系统的设计中,首先要考虑的是系统的需求分析,该系统的设计与实现涉及多个方面,包括数据库…...
JVM之jinfo虚拟机配置信息工具
jinfo虚拟机配置信息工具 1、jinfo jinfo(Configuration Info for Java)的作用是实时地查看和调整虚拟机的各项参数。 使用jps -v 可以查看虚拟机启动时显示指定的参数列表,但是如果想知道未被显示指定的参数的系统默认值,除 …...
软件测试|PO设计模式在 UI 自动化中的实践
PO的思想最早是2013年由IT大佬Martin Flower提出的:https://martinfowler.com/bliki/PageObject.html 没错,就是他 — 没错,就是他 — 在他的文章里有这样一张经典样图,图片中展示了测试代码中直接操作HTML元素和使用PO模式将page对象封装成…...
Stream-Translator实战指南:5分钟完成实时语音翻译配置
Stream-Translator实战指南:5分钟完成实时语音翻译配置 【免费下载链接】stream-translator 项目地址: https://gitcode.com/gh_mirrors/st/stream-translator Stream-Translator是一款强大的实时语音翻译工具,专为直播流音频转录和翻译设计。通…...
MusicPlayer2:你的Windows音乐管家,三步打造专属音乐空间
MusicPlayer2:你的Windows音乐管家,三步打造专属音乐空间 【免费下载链接】MusicPlayer2 MusicPlayer2是一款功能强大的本地音乐播放软件,旨在为用户提供最佳的本地音乐播放体验。它支持歌词显示、歌词卡拉OK样式显示、歌词在线下载、歌词编辑…...
R语言实现惩罚回归:从原理到实践
1. 惩罚回归概述:从线性回归到正则化在机器学习实践中,线性回归是最基础也最常用的算法之一。但传统最小二乘法在面对高维数据或存在多重共线性的数据时,往往会遇到过拟合问题。这时惩罚回归(Penalized Regression)就成…...
终极JSXBIN解码指南:快速解密Adobe脚本加密格式的完整教程
终极JSXBIN解码指南:快速解密Adobe脚本加密格式的完整教程 【免费下载链接】jsxer A fast and accurate JSXBIN decompiler. 项目地址: https://gitcode.com/gh_mirrors/js/jsxer 在Adobe创意生态系统中,JSXBIN格式一直是开发者维护和审计脚本代码…...
USBCopyer终极指南:让U盘文件自动备份变得简单高效
USBCopyer终极指南:让U盘文件自动备份变得简单高效 【免费下载链接】USBCopyer 😉 用于在插上U盘后自动按需复制该U盘的文件。”备份&偷U盘文件的神器”(写作USBCopyer,读作USBCopier) 项目地址: https://gitcod…...
如何利用FMA音乐分析数据集解决音乐信息检索难题:提升模型准确率的完整方案
如何利用FMA音乐分析数据集解决音乐信息检索难题:提升模型准确率的完整方案 【免费下载链接】fma FMA: A Dataset For Music Analysis 项目地址: https://gitcode.com/gh_mirrors/fm/fma 音乐信息检索(MIR)研究长期面临高质量标注数据…...
Dev Containers 安全性优化终极路线图:基于NIST SP 800-190A的7层防御体系,含OCI镜像扫描+运行时策略引擎集成实录
更多请点击: https://intelliparadigm.com 第一章:Dev Containers 安全性优化的顶层认知与威胁建模 Dev Containers 本质是将开发环境封装在容器中运行,但其默认配置常隐含高风险面:宿主机权限泄露、网络暴露、镜像供应链污染及调…...
AI沙箱不是加个--read-only就完事!资深架构师曝光4类伪隔离反模式及审计checklist
更多请点击: https://intelliparadigm.com 第一章:Docker Sandbox 运行 AI 代码隔离技术 面试题汇总 Docker Sandbox 是当前 AI 工程化部署中保障安全执行的关键实践,尤其在模型即服务(MaaS)平台、在线编程评测系统及…...
PPTX2HTML终极指南:3分钟实现PPTX到HTML的完美转换
PPTX2HTML终极指南:3分钟实现PPTX到HTML的完美转换 【免费下载链接】PPTX2HTML Convert pptx file to HTML by using pure javascript 项目地址: https://gitcode.com/gh_mirrors/pp/PPTX2HTML PPTX2HTML是一款革命性的前端转换工具,让您的演示文…...
【限时开源】20年老兵私藏的Docker WASM边缘编排框架(含自动降级、冷启优化、安全沙箱三重加固)
更多请点击: https://intelliparadigm.com 第一章:Docker WASM边缘计算部署指南概览 WebAssembly(WASM)正迅速成为边缘计算场景中轻量、安全、跨平台执行逻辑的核心载体,而 Docker 官方自 2023 年起通过 docker buil…...
