移动端页面预览pdf文件

news/2025/2/12 14:18:40/

项目背景

我们在项目中经常会遇到预览pdf文件的需求,对pc端来说实现这样的功能相对简单,因为可以直接在浏览器中打开文件链接进行预览,这里就不再详细介绍了。今天主要介绍一下手机端页面如何实现pdf的预览,无论是手机端web项目还是app中嵌入的web页面,我们均可以通过pdf.js + iframe 的方式实现pdf文件的预览。

1. 插件引入

首先我们需要在项目中引入pdf.js插件,这里以vue2的前端项目为例引入插件,pdf.js插件不能通过 npm install 的方式来安装,需要将插件包下载下来并放进项目资源目录中。插件包的下载链接: http://mozilla.github.io/pdf.js/getting_started/#download在这里插入图片描述
如图点击下载插件包,然后在项目的public目录下创建 static 目录,并将pdf.js插件包放入。
在这里插入图片描述

2. 插件使用

插件引入成功后就要在项目中使用了,这里我们使用 iframe标签来渲染pdf文件,相关的html代码如下:

 <div class="main-wrapper"><iframe id="iframe" :src="pdfSrc" width="100%" height="100%" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes"></iframe>
</div>
// 在data中定义pdfSrc变量
data() {return {pdfSrc: ''}
},
methods: {//生成pdfSrcgeneratePdfSrc() {// 这里的url可以是pdf文件的访问路径,也可以是通过window.URL.createObjectURL()生成的路径let pdfUrl = 'https://xxxxx.pdf' // ./static/pdf/web/viewer.html 这里的地址是插件在项目中的地址this.pdfSrc = './static/pdf/web/viewer.html?file=' +  pdfUrl}
}

通过上述方法便完成了pdf在手机端页面的预览。

3. 注意事项

项目中一般会有两种文件的访问方式,一种是后端会直接将文件的访问地址给我们(如https://xxxx.pdf),让前端进行访问,另一种是后端会提供一个获取文件流的接口,通过流的方式获取文件。

如果我们拿到的是文件的地址,直接将地址赋值给项目中定义的pdfUrl就可以直接展示。如果是拿到的流文件,则需要将流文件通过window.URL.createObjectURL进行转换后再赋值给pdfUrl进行展示。详细的处理过程我在另一篇文章中有介绍,前端处理后台返回流类型的图片/PDF,需要的童鞋可以前往查看。

至此,我们要实现的功能就完成了,有问题的童鞋可以在评论区留言,一起交流。


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

相关文章

Prescan-功能预览

鉴于这两年无人驾驶炒的火热&#xff0c;想学习点基础知识&#xff0c;以免被淘汰。然而囊中羞涩&#xff0c;Jetson TX2、Lidar。。。只可远观&#xff0c;由于本人从事过汽车结构设计及3D设计和仿真软件技术支持&#xff0c;同时会点C/C#/Python&#xff0c;考虑工作贴合度&a…

❤️强烈推荐!Word、Excel、PPT、PDF在线预览解决方案

大家好&#xff0c;我是锋哥&#xff1b; 平时大伙开发项目的时候&#xff0c;经常遇到业务需求Word、Excel、PPT、PDF在线预览功能&#xff1b; 市面上这方面的解决方案也有一些&#xff0c;不做过多评价。今天主要推荐的是一个特定提前下的永久免费解决方案&#xff1b; 调…

WPS如何制作指定大小的表格以宽2cm高1cm的表格为例

WPS Office用于制作电子表格,文字编辑等。利用“WPS表格”软件我们可以更方便更快捷地制作工作需要的表格和在表格中写入相关数据&#xff0c;本文为大家介绍下怎么制作表格并指定表格的大小。本例以宽2cm高1cm为例制作表格&#xff0c;其他需求参考此例即可。 描述&#xff1…

关于微软excel在线预览的使用小记

最近公司有一个需求需要将一些Excel在前端页面展示出来&#xff0c;因为表格内容暂时无法固定所以后端也不好解析&#xff08;前端解析也挺麻烦&#xff09;&#xff0c;一开始想使用spreadJS展示的&#xff0c;也是由于表格内容没有个固定格式也是不太好实现&#xff0c;最终选…

任务栏WPS出现多窗口预览?下载这个注册表就对了

最近发现任务栏里的wps窗口一触发就出现多窗口预览&#xff0c;每次还需要选择一下才能点进去&#xff0c;实在太不方便了。找了2天终于找到了解决办法&#xff0c;需要的直接下载这个注册表并安装即可。 下载链接https://www.kdocs.cn/download/tips?qhttps%3A%2F%2Fwpsfile…

金山文档这样玩,效率「狂飙」

1985年&#xff0c;微软发布了第一代的Excel。现在&#xff0c;Excel成为了许多打工人的必备工具&#xff0c;却也在很多人的日常工作中&#xff0c;带来了海量跨表同步、大批数据对齐的日常繁琐工作&#xff0c;逐渐沦为“表哥”“表妹”。 多维表&#xff0c;是新一代数据效率…

【WPS配置mathtype】

1.安装wps 2.安装vba&#xff08;宏语言&#xff09; 3.安装MathType 破解版传送门&#xff1a;https://pan.baidu.com/s/1G8cjILH77trQuJR6wbHs7g 提取码&#xff1a;6969 传送门&#xff1a;https://pan.baidu.com/s/1yD5PO5rO4-iH7i8FqVtVCw 提取码&#xff1a;6969…

英伟达Flex

序 除了unity插件&#xff0c;好像还有另一种形式&#xff1a;GitHub - NVIDIAGameWorks/FleX 运行例子 下载完了&#xff0c;解压。 双击这个&#xff1a; 就弹出了这个窗口&#xff1a; 还能交互的 还是实时的…… 还能换场景&#xff1a; 它有俩bat&#xff0c;另一个ba…