美文网首页
pdf.js2.2的使用

pdf.js2.2的使用

作者: xclh | 来源:发表于2019-12-01 15:49 被阅读0次

所谓工欲善其事必先利其器,要想使用pdf.js2.2,我们先需要获取这个js文件。下载

下载好了之后,我们就可以来使用了。

一:单页加载

首先,我们来看一下,html的代码:

就是一个翻页,和渲染pdf的canvas。

接下来,就开始使用pdf.js编码了

第一步:引入几个js文件

第二步:相关初始化

canvas的初始化可放后,这里实现的是翻页加载的功能,所以维护一个canvas对象就行了,然后对pdf.js做一些初始化的工作,首先加载pdf.worker.js文件,这个和pdf.js就是负责pdf解析相关工作的。然后设置字体库。在上面给的链接里面下载了之后,直接有(其实就是官方demo里的啦~),不设置也无所谓,不过如果pdf里没有相关字体,可能报错,你也可以在这个cmaps文件夹选择一些字体文件,不选择所有的。

第三步:初始化相关做完了,此时就可以加载pdf文件了。首先我们需要获取pdf文件,如下所示:

url方式 base64编码格式

此时pdf已经加载好了,但是!注意,这个时候,页面还是空白,因为没有渲染。所以,接下来,要做的就是渲染文件

第四步:渲染页面

因为此处我们需要把宽度,固定为800,所以重新计算了一次缩放比例,然后给canvas这个页面元素设置宽高,当然此处,还可以设置canvas的其他效果,详见canvas。然后静待页面渲染完成即可。因为此处,设置了翻页。可能连续点击下一页上一页啊的按钮。所以,做了判断,如果在当前页还在加载的情况下,就又点击了一次的话,那么,应该不是马上就渲染,要等当前页渲染完成在渲染。当然,可以在渲染一页的时候,拦截这个事件,或者做别的处理也行。

上面说的,其实页面已经渲染完成了。加载的是第一页。

下面补充一些方法。

最后看下效果:

二:加载全部(多页)

前面实现了单页加载的功能,但是我想一次性加载完所有的该怎么办呢,其实和前面的单页加载一样,就改几个小地方就行啦

1、pdf加载完成之后,直接把所有页面渲染出来

其次,每个循环时,重新创建个canvas对象,设置相关属性即可:

这样,就把所有页面加载出来啦。当然,其他很多效果都可以实现,参考canvas和html5就行~~~

项目地址:地址

参考资料:资料

相关文章

  • pdf.js2.2的使用

    所谓工欲善其事必先利其器,要想使用pdf.js2.2,我们先需要获取这个js文件。下载 下载好了之后,我们就可以来...

  • iconfont的使用(下载使用)

    1、下载文件 2、在生命周期中引入项目 beforeCreate () { var domModule = ...

  • Gson的使用--使用注解

    Gson为了简化序列化和反序列化的过程,提供了很多注解,这些注解大致分为三类,我们一一的介绍一下。 自定义字段的名...

  • 记录使用iframe的使用

    默认记录一下----可以说 这是我第一次使用iframe 之前都没有使用过; 使用方式: 自己开发就用了这几个属...

  • with的使用

    下面例子可以具体说明with如何工作: 运行代码,输出如下

  • this的使用

    什么是this? this是一个关键字,这个关键字总是返回一个对象;简单说,就是返回属性或方法“当前”所在的对象。...

  • this的使用

    JS中this调用有几种情况 一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象...

  • ==的使用

    积累日常遇到的编码规范,良好的编码习惯,持续更新。。。 日常使用==用于判断的时候,习惯性将比较值写前面,变量写后...

  • this的使用

    1.默认绑定,就是函数立即执行。 函数立即执行就是指向window,但是如果是node环境,就是指向全局conso...

  • %in% 的使用

    写在前面:From 生信技能书向量难点之一:%in% 难点 (1)== 与 %in% 的区别== 强调位置,x和对...

网友评论

      本文标题:pdf.js2.2的使用

      本文链接:https://www.haomeiwen.com/subject/ogpzwctx.html