• H5预览PDF的坑


    安装 npm install --save vue-pdf

    具体代码块

    1. class="detail" v-show="preview">
    2. <div class="pdfTop">
    3. <div class="left" @click="goBack">div>
    4. <div style="font-size: 16px" class="textpdf">{{ name }}div>
    5. div>
    6. <div class="pdf" v-show="fileType === 'pdf'">
    7. <div style="overflow: hidden" class="pdfbox">
    8. <pdf :src="preview" :page="currentPage" @num-pages="pageCount = $event" @page-loaded="currentPage = $event" @loaded="loadPdfHandler">pdf>
    9. div>
    10. <p class="arrow">
    11. <span @click="changePdfPage(0)" class="turn" :class="{ grey: currentPage == 1 }">上一页span>
    12. {{ currentPage }} / {{ pageCount }}
    13. <span @click="changePdfPage(1)" class="turn" :class="{ grey: currentPage == pageCount }">下一页span>
    14. p>
    15. <div class="preview-btn" @click="preview = null">关闭预览div>
    16. div>
    1. //主要代码
    2. // 上下滚动pdf加载
    3. loadPdf(videoUrl) {//videoUrl后端返回的PDF地址
    4. //开始用的这个代码有问题移动端提示this.preview没有promise这个方法,所以换了一种方法
    5. // this.preview.promise.then((pdf) => {
    6. // console.log('pdf', pdf)
    7. // if (pdf && pdf._pdfInfo.numPages) {
    8. // this.$nextTick(() => {
    9. // this.numPages = pdf._pdfInfo.numPages // pdf总页数
    10. // })
    11. // }
    12. // })
    13. this.vuePdf = require('vue-pdf')
    14. let CMAP_URL = 'https://unpkg.com/pdfjs-dist@2.0.943/cmaps/'
    15. this.vuePdf.default.createLoadingTask)
    16. this.preview = this.vuePdf.default.createLoadingTask({
    17. cMapUrl: CMAP_URL,
    18. cMapPacked: true,
    19. url: videoUrl
    20. })
    21. this.currentPage = 1
    22. }

    基本上就可以直接用了(自己调以下样式就好了)

    中途出现了一个坑就是后端给我返回的是http形式的pdf,而我的项目是https的导致在本地运行的时候pdf正常显示,移动端就一片空白。找了半天问题。呜呜呜呜呜害我换了pdf.js又换了iframe都有这个问题

    统一一下http形式就可以了。

    感谢以下博主:

    移动端实现预览pdf - 简书

  • 相关阅读:
    【ACWing】139. 回文子串的最大长度
    Chromium 消息循环和线程池详解
    如何从github上克隆库、跑库
    Cpp/Qt-day010915Qt
    winform+access超市管理信息系统
    云计算-Linux-mkdir.cd.pwd.touch,cp命令等学习
    深入了解 Docker 容器操作命令:掌握容器化管理的关键
    K8S环境搭建
    第8章-排序
    计算机毕业设计Java班级事务管理(源码+系统+mysql数据库+lw文档)
  • 原文地址:https://blog.csdn.net/m0_60067558/article/details/133747535