vue-pdf插件实现pdf在线预览

ppylox
·5/31/2021·0 阅读
AI 摘要模型根据正文自动生成,仅供参考

本文介绍使用vue-pdf插件实现PDF在线预览:先npm安装并在组件中引入注册;模板中用v-for按numPages逐页渲染pdf组件,绑定src与page;data定义pdfInfo含src、numPages及加载状态;获取文件地址后调用loadPdfFile,通过pdf.createLoadingTask(encodeURI(url))创建加载任务,在promise回调中设置加载完成标志并获取页码,实现加载完成后分页显示。

1、安装vue-pdf插件

npm I vue-pdf -S

 2、组件中引入

import pdf\nfrom 'vue-pdf'

components: {
pdf
}

3、组件中使用

<pdf

        v-for="i in pdfInfo.numPages"

        :key="i"

        :src="pdfInfo.src"

        :page="i"

        style="display: inline-block;\nwidth: 100%;border-bottom:10px solid #eee">

      </pdf>


 4、定义pdfInfo变量,主要用到src跟numpages,分别为pdf文件地址和页码

Data:

pdfInfo:{

          loadFinished: false,

          src: null,

          numPages: undefined,

          fullscreenLoading: false

        },


 5、方法调用,一般在获取文件地址后调用该方法,

this.loadPdfFile(this.iobsFileUrl)

Methods:

loadPdfFile(iobsFileUrl)\n{

        this.pdfInfo.loadFinished = false

        this.pdfInfo.fullscreenLoading = true

        this.pdfInfo.src =\npdf.createLoadingTask(encodeURI(iobsFileUrl));

        this.pdfInfo.src.promise.then(pdfValue\n=> {

          // 加载完成再显示

          this.pdfInfo.loadFinished = true

          this.pdfInfo.fullscreenLoading =\nfalse

          this.pdfInfo.numPages =\npdfValue.numPages;

        });

      },


相关文章

评论 (0)

暂无评论,来写第一条吧