Vue-pdf实现在线预览PDF文件

这篇文章主要为大家详细介绍了Vue-pdf实现在线预览PDF文件,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

前言

在大多数项目中都会遇到在线预览PDF文件,项目使用的是element ui,使用vue-pdf实现。

安装依赖

 npm install --save vue-pdf

相关参数

参数介绍:

  • url :pdf 文件的路径,可以是本地路径,也可以是在线路径。
  • page: 当前显示的页数,比如第一页page=1
  • rotate : 旋转角度,比如0就是不旋转,+90,-90 就是水平旋转。
  • progress :当前页面的加载进度,范围是0-1 ,等于1的时候代表当前页已经完全加载完成了。
  • page-loaded :页面加载成功的回调函数,不咋能用到。
  • num-pages :总页数
  • error :加载错误的回调
  • link-clicked:单机pdf内的链接会触发。
  • print 这个是打印函数。 注意:谷歌浏览器会出现乱码,这个和字体有关系。

实现

 

效果

注意点

1、URL

url为文件地址路径

 this.src = pdf.createLoadingTask({ url: 'http://localhost:8082/file/demo.pdf', });

2、设置请求头

可以通过httpHeaders来设置token等参数

 httpHeaders: {Authorization:'Bearer '+ this.token}

3、src

这点比较重要,网上很多帖子都是这样的

 this.src.then(pdf => { this.viewVisible = true; })

会报错 TypeError: this.src.then is not a function

 TypeError: this.src.then is not a function at VueComponent.onPreview (index.vue?6ced:241) at click (index.vue?aaff:261) at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854) at VueComponent.invoker (vue.runtime.esm.js?2b0e:2179) at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854) at VueComponent.Vue.$emit (vue.runtime.esm.js?2b0e:3888) at VueComponent.handleClick (element-ui.common.js?5c96:9413) at invokeWithErrorHandling (vue.runtime.esm.js?2b0e:1854) at HTMLButtonElement.invoker (vue.runtime.esm.js?2b0e:2179) at HTMLButtonElement.original._wrapper (vue.runtime.esm.js?2b0e:6917)

正确的是这样的

 this.src.promise.then(pdf => { this.viewVisible = true; });

以上就是Vue-pdf实现在线预览PDF文件的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Vue.js 教程