vue中有什么方法可以实现直接预览pdf
Admin 2022-07-09 群英技术资讯 530 次浏览
在写项目的过程中,偶尔会有使用到pdf的文件,当我们想看pdf文件的时候,你的操作是不是先把pdf文件下载下来,通过电脑安装的专用于打开pdf的软件来查看pdf文件呢。如果有个需求说不要让用户安装软件呢,毕竟还是有很多用户不知道怎么安装软件或者这个东西需要什么东西才能打开嘛。ok,有了这样的需求那我们是不是也得去实现嘛,毕竟这理由咱也没法反驳啊。
既然都提出来了,那就想想怎么使用咯。既然需要用到pdf。不知道有没有关于js能够操作的库文件来帮我呢?果断一百度,咱们今天的主角就来了:pdfjs。
既然有了方案,那就去研究研究了,首先需要去下载这个库的文件,下载地址:点我下载。这个页面会有两个,一个是兼容旧版的,大家可以根据自己的实际情况下载啊。
下载后的代码结构如下图:
这里面有两个文件夹:
有两种使用方法,一种是通过核心库文件自己去实现pdf的预览,还有一种是通过给的例子去预览pdf文件。这里呢就以给的例子来预览pdf文件,如果大家有兴趣可以去研究研究怎么用核心文件去实现咯。
首先我们需要将下载好的文件放到vue项目的static静态目录下,如下图:
在需要用到的地方使用如下方式调用:
var url = encodeURIComponent(window.location.origin+'/other/202101/dc88623a-74c4-49c4-bc95-7e34d9cf6163.pdf') window.open(window.location.origin + window.location.pathname+'static/pdfjs/web/viewer.html?file='+url)
上面的pdf地址为自己放在本地的路径,这里路径可以为相对和绝对路径,上面为绝对路径
这时就可以看到如下效果啦:
如果这个pdf文件的地址和当前下载的库文件地址在相同的域下,应该不会有太大问题的,如果不同域下就需要解决跨域的问题了。这里有个地方需要解决就是我们下载的库文件,找到viewer.js文件中下面的内容注释:
将上图中红色框框里面的内容注释。如果服务端给出的是下载地址,那么可以使用iframe嵌套来解决。
其实可以看到跨域的知识有时候还是很有用的,上面就用到了,我刚开始弄的时候怎么都出不来,后面发现跨域下载不下来。当前还有更多的用法和问题,欢迎大家提出来。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
vue清除定时器的方法是什么?一些朋友可能不知道为什么要清楚定时器,这是因为定时器如果不及时合理地清除,会造成业务逻辑混乱甚至应用卡死的情况,因此这篇文章就给大家分享关于vue清除定时器的方法及要注意的问题。
JS中的History历史对象的用法是什么?JavaScript编程中的History历史对象是一定要学习的基本内容,想要了解详细知识点,可以跟随小编来了解下。
这篇文章主要介绍vue实现单文件组件的内容,对大家学习或者复习vue单文件组件的知识有一定的帮助,感兴趣的朋友可以参考下,希望大家阅读完这篇文章能有所收获,接下来小编带着大家一起了解看看。
篇文章主要给大家分享关于JS展开运算符使用的内容,这里介绍了一些JS展开运算符的使用技巧,例如添加属性、合并多个对象、移除对象属性、动态移除属性等等,对新手学习JS展开运算符有一定的帮助,感兴趣的朋友可以参考了解看看。
变量对象是与执行上下文相关的数据作用域。它是一个与上下文相关的特殊对象,它存储了上下文中定义的变量和函数声明。变量对象是一个抽象概念。不同的上下文类型在物理上使用不同的对象。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008