随笔 - 112,  文章 - 0,  评论 - 2,  阅读 - 93932

安装

1
npm install --save vue-pdf

vue-pdf默认只显示第一页,可以写按钮翻页,也可以v-for多页显示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<template>
  <div class="hello">
        {{currentPage}} / {{pageCount}}
        <button @click="change1">上一页</button>
        <button @click="change2">下一页</button>
        <br>
        <pdf
            :src="src"
            :page="currentPage"
            @num-pages="pageCount = $event"
            @page-loaded="currentPage = $event"
            class="pdf-set"
        ></pdf>
    
  </div>
</template>
 
<script>
import pdf from 'vue-pdf'
export default {
  components:{
    pdf
  },
  name: 'HelloWorld',
  data(){
    return{
      src:origin+'/file/数据结构与算法JavaScript描述.pdf',//路径需要留意 并非绝对路径
      currentPage: 1,
      pageCount: 1,
    }
  },
  methods:{
    change1(){
      if(this.currentPage>1){
        this.currentPage--
      }
    },
    change2(){
      if(this.currentPage < this.pageCount){
        this.currentPage++
      }
    }
  }
}
</script>
 
<style scoped>
.pdf-set{
  display: inline-block;
  height:800px;
  width:500px;
}
</style>

实例二 多页显示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<template>
  <div class="about">
    <div>
        <pdf
            v-for="i in numPages"
            :key="i"
            :src="src"
            :page="i"
            class="pdf-set"
        ></pdf>
    </div>
    
  </div>
</template>
 
<script>
import pdf from 'vue-pdf'
export default {
  components:{
    pdf
  },
  name: 'HelloWorld',
  data(){
    return{
      src:pdf.createLoadingTask(origin+'/file/数据结构与算法JavaScript描述.pdf'),
      numPages: undefined
    }
  },
  mounted(){
    this.src.then(pdf => {
        this.numPages = pdf.numPages;
    });
  }
}
</script>
 
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
.pdf-set{
  display: inline-block;
  text-align: center;
  width:60%;
}
</style>

  

posted on   鄢宁  阅读(2065)  评论(1编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示