pdfh5.js的使用方法以及解决遇到的坑

 更新时间:2024年02月03日 11:43:40   作者:爱分享的Hayes小朋友  
这篇文章主要给大家介绍了关于pdfh5.js的使用方法以及解决遇到的坑的解决办法,pdfh5.js基于pdf.js和jQuery,web/h5/移动端PDF预览手势缩放插件,需要的朋友可以参考下

pdfh5.js的使用以及遇到的坑

pdfh5的地址:https://www.npmjs.com/package/pdfh5

  • 在项目中引入pdfh5
 // 通过npm在项目中引入
 
  npm install pdfh5
  import Pdfh5 from "pdfh5";
  import "pdfh5/css/pdfh5.css";
  
   // 注意:css样式也在script标签里通过import引入
   
// 使用

// 1.创建一个div
<div id='pdf'></div>

// 2.实例化
this.pdfh5 = new Pdfh5('#pdf',{
    // pdfurl和data二选一
	pdfurl:'pdf的路径',
	data:pdf文件流 // array,如果是base64编码,需要先使用atob()转为二进制字符串
	})
	
// 3.监听完成事件
this.pdfh5.on('事件名',function())

完成事件on函数的事件名

遇到的坑

  • 引入css的坑
    在引入css文件的时候,官方给出了两种方式
    第一种:在style标签里面通过@import 'pdfh5/css/pdfh5.css’方式,这种方式可能会报错
    第二种:在script标签里面通过import ‘pdfh5/css/pdfh5.css’,建议使用这种方式
  • 关于大文件加载切换问题
    当pdf文件过大,有很多页的时候,打开pdf会处于慢慢加载的状态
    如果没有加载完成,再次点击另外一个pdf,就会出现pdf样式错乱的问题

    因此,我们在每次重新打开pdf的时候,执行一下销毁的操作
if (this.pdfh5) {
        this.pdfh5.destroy()
        this.pdfh5 = null
      }

3. 在那种需要切换的场景,会出现点击空白的情况

比如:‘我已阅读并同意xxx协议、xx协议’,点击一个协议,就会弹出一个pdf

// 在创建div的时候,id需要随之切换,如果id固定不变就会导致点击其他的出现空白情况

// html,容器通过v-if就行切换
<div class="content" id="medical-zygz_b" v-if="code === 'zygz_b'"></div>
<div class="content" id="medical-lpxz_b" v-if="code === 'lpxz_b'"></div>
// 或者动态绑定id的值
<div class="content" :id="'medical-'+code" v-if="code === 'lpxz_b'"></div>


// js
this.pdfh5 = new Pdfh5(`#medical-${this.code}`, {
    pdfurl: url,
})

这些都是基本用法,其他详细的api,可以去官网查看,地址在顶部第二行

总结

到此这篇关于pdfh5.js的使用方法以及解决遇到的坑的文章就介绍到这了,更多相关pdfh5.js使用及踩坑内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • 微信小程序教程系列之设置标题栏和导航栏(7)

    微信小程序教程系列之设置标题栏和导航栏(7)

    这篇文章主要为大家详细介绍了微信小程序教程系列之标题栏和导航栏的设置,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • 一文掌握new Date() 方法

    一文掌握new Date() 方法

    大家平时在开发的时候有没被new Date()折磨过,反正我是踩过很多坑,今天小编通过本文给大家详细讲解下new date()方法应用思考,感兴趣的朋友一起看看吧
    2023-04-04
  • JS中可以改善代码的5种重构技术分享

    JS中可以改善代码的5种重构技术分享

    代码重构涉及在不改变其外部功能的情况下对现有代码进行改进,这是编程的核心部分之一,所以下面我们将研究一些技巧,这些技巧可以帮助我们以更好的方式重构代码,希望对大家有所帮助
    2023-06-06
  • 详解小程序原生使用ES7 async/await语法

    详解小程序原生使用ES7 async/await语法

    这篇文章主要介绍了详解小程序原生使用ES7 async/await语法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • JavaScript中null和undefined的区别详解

    JavaScript中null和undefined的区别详解

    null 是一个原始值,表示“无”或“空值”,它通常用于指示变量应有的对象或值不存在,undefined 是一个原始值,表示“未定义”,本文给大家详细介绍了JavaScript中null和undefined的区别,需要的朋友可以参考下
    2024-10-10
  • Canvas实现动态的雪花效果

    Canvas实现动态的雪花效果

    本文主要分享Canvas实现动态的雪花效果的示例代码。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • jQuery实现动态生成表格并为行绑定单击变色动作的方法

    jQuery实现动态生成表格并为行绑定单击变色动作的方法

    这篇文章主要介绍了jQuery实现动态生成表格并为行绑定单击变色动作的方法,涉及jQuery页面元素遍历与事件动态响应相关操作技巧,需要的朋友可以参考下
    2017-04-04
  • js实现仿爱微网两级导航菜单效果代码

    js实现仿爱微网两级导航菜单效果代码

    这篇文章主要介绍了js实现仿爱微网两级导航菜单效果代码,通过javascript自定义函数结合鼠标点击事件实现tab切换的功能,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • 详解Bootstrap按钮

    详解Bootstrap按钮

    本文给大家介绍bootstrap按钮相关知识,包括按钮大小、按钮状态、按钮标签相关样式定义,对bootstrap按钮相关知识感兴趣的朋友一起学习吧
    2016-01-01
  • JQuery中serialize() 序列化

    JQuery中serialize() 序列化

    这篇文章主要介绍了JQuery中serialize() 序列化,十分的细致全面,推荐给大家,
    2015-03-03

最新评论