admin管理员组文章数量:1648973
分页版本:
<p class="arrow" style="text-align: right; margin: 24px 0px 12px 0;color: white">
<span style="cursor: pointer;" @click="changePdfPage(0)" class="turn"
>上一页</span
>
<span style="margin: 0 15px;"
><span>{{ currentPage }}</span> / <span>{{ pageCount }}</span></span
>
<span
style="cursor: pointer;"
@click="changePdfPage(1)"
class="turn"
>下一页</span
>
</p>
<div style="max-height: 600px; overflow-x: auto; overflow-y: scroll;">
<pdf :src="src"
:page="currentPage"
@num-pages="pageCount = $event"
@page-loaded="currentPage = $event"
@loaded="loadPdfHandler"
style="width: 100%;" />
</div>
<script>
import pdf from 'vue-pdf-signature'
export default {
name: 'xxx',
components: {
},
data () {
return {
currentPage: 0, // pdf文件页码
pageCount: 0, // pdf文件总页数
src:'',}
}, methods: {
// 改变PDF页码,val传过来区分上一页下一页的值,0上一页,1下一页
changePdfPage (val) {
if (val === 0 && this.currentPage > 1) {
this.currentPage--
}
if (val === 1 && this.currentPage < this.pageCount) {
this.currentPage++
}
},
// pdf加载时
loadPdfHandler (e) {
this.currentPage = 1 // 加载的时候先加载第一页
},
}
}
</script>
无分页自动加载全部页面
<pdf :src="fileUrl"
v-for="item in pageCount"
:key="item"
:page="item"
style="width: 100%;" />
fileUrl:文件地址
pageCount:页数
pdf:引用如上一致
pdf.createLoadingTask(fileUrl).promise.then(res => {
pageCount = res.numPages
})
createLoadingTask:pdf插件预加载函数
版权声明:本文标题:vue预览pdf文件 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1729505568a1203586.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论