当前位置:   article > 正文

第三篇: 使用 vue-pdf 实现前端预览 PDF文件_createloadingtask

createloadingtask

第三篇: 使用 vue-pdf 实现前端预览 PDF文件

主要知识点:npm 安装 vue-pdf; 本地pdf文件路径地址;vue-pdf的createLoadingTask()方法

大致效果如下:

1.npm 安装 vue-pdf

npm install vue-pdf --save

2.本地pdf文件路径地址。在工程中加入自己测试需要的 pdf 文件,路径最好放在 public目录下,如下:

3.vue-pdf的createLoadingTask()方法。为了防止在开发中出现跨越而读取不到文件,采用createLoadingTask()方法,可获得 文件页码 等信息。

  1. <template>
  2. <div class="panel-content">
  3. <el-dialog
  4. title="预览"
  5. :visible.sync="viewVisible"
  6. width="50%"
  7. height="100%"
  8. center
  9. >
  10. <div class="pdf">
  11. <pdf
  12. v-for="currentPage in numPages"
  13. :key="currentPage"
  14. :src="pdfsrc"
  15. :page="currentPage"
  16. @loaded="loadPdfHandler"
  17. ></pdf>
  18. </div>
  19. </el-dialog>
  20. </div>
  21. </template>
  22. <script>
  23. import pdf from 'vue-pdf'
  24. export default {
  25. name: 'TEMPLATE',
  26. data() {
  27. return {
  28. viewVisible: true,
  29. pdfsrc: '/pdf/element实战.pdf',
  30. numPages: 1,
  31. currentPage: 1, // pdf文件页码
  32. pageCount: 1 // pdf文件总页数
  33. }
  34. },
  35. components: {
  36. pdf
  37. },
  38. mounted() {
  39. },
  40. created() {
  41. // createLoadingTask() 处理文件等跨越问题
  42. this.pdfsrc = pdf.createLoadingTask({ url: this.pdfsrc })
  43. this.loadPdfHandler()
  44. },
  45. methods: {
  46. loadPdfHandler() {
  47. this.pdfsrc.promise.then(pdf => {
  48. // 获取pdf文件相关信息,页码等
  49. this.numPages = pdf.numPages
  50. })
  51. this.currentPage = 1 // 加载的时候先加载第一页
  52. // 强制刷新
  53. this.$forceUpdate()
  54. }
  55. }
  56. }
  57. </script>
  58. <style scoped></style>

4.这就是简短的 pdf 预览的 Demo,谢谢大家的支持。 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/880277
推荐阅读
相关标签
  

闽ICP备14008679号