pdf.js 的基本使用范例 helloworld 解读
发布于 作者:苏南大叔 来源:程序如此灵动~

pdf.js
是使用浏览器的先进技术来解析pdf
文件的,这个过程,并不需要安装adobe pdfreader
。pdf.js
利用html5
的先进特性来完成整个pdf
文件的渲染,并且有着丰富的api
接口,可以对pdf
文件进行处理显示。

在本文中,苏南大叔将要讲述:如何使用查看pdf.js
的基本使用范例demo
代码。
浏览器兼容性
使用pdf.js
这项新技术的时候,请确认你的使用场景里面并不存在浏览器兼容性问题。比如低版本的ie678
系列,如果可能存在不兼容的浏览器的话,建议您还需要考虑传统的使用adobe pdfreader
加载显示的方案。据说ie9
开始可以正常显示pdfjs
的渲染效果了。不过,目前来看,市面上不支持pdfjs
的浏览器,存在性很小了。所以,兼容性问题不必过多考虑。
官方git包
在github
上面,官方的pdfjs
实际上是有两个项目存在的,一个是大而全的源码版本,另外一个是小而精的dist
版本。苏南大叔将要主要讲述的将是前者,大而全的pdfjs
源码版本,后者其实是前者的build
的成果,生产环境专供的版本。
- 大而全的
pdfjs
源码:https://github.com/mozilla/pdf.js - 生产环境专供的
pdfjs
:https://github.com/mozilla/pdfjs-dist
您可以下载pdf.js
的master版本或者最新的release
版本,建议您下载master
版本。

初步运行源码包
现阶段的主要目的,就是运行起源码中的demo
,查看一下pdfjs
的功能和基本使用方法。本着这个淳朴目的,在这里,苏南大叔就先讲讲:如何初步运行这个pdf.js
的源码包。看到源码根目录下面的package.json
,我们就应该知道怎么做了,对吧?值得注意的是:下面的命令,都是在源码的根目录下面运行的。
安装npm依赖包,这个命令的变形很多,这里就不讲述了,大家看苏南大叔的以往教程即可。
可能您还需要全局安装gulp-cli
,是否需要,视具体情况而定。
一切都准备好之后,执行gulp这个server即可。

pdf.js
的helloworld
pdf.js
的例子有好多个,整体上来说,相比较以往的各种代码,这个pdf.js
比较复杂。而且很多例子,也不是这么简简单单就能够运行起来的。好,我们先看看这个pdf.js
都有什么样的功能,能干什么样的事情吧?
在浏览器里面打开gulp
的这个server
,就可以看到类似资源管理器的界面,只不过需要注意的是:这个界面的最下面有个提示选项是"only pdf files are shown,show all"。所以我们要运行的html文件是被隐藏的状态,这个给新手带来了一定的困惑。examples/helloword/index.html
文件,就是我们的第一个学习目标了。
如果你不能打开http://localhost:8888/
的话,请确认一下,您是否在根目录下面执行了npm install
语句。



显示效果不是太好,如果你给把helloworld.pdf
换个图文并茂的pdf的话,效果会好很多。这个helloworld
的demo,只显示第一页内容(范例的第一页就是几个字而已,但是这个是pdf文件,不是普通的字),其他的内容并没有显示,而且没有任何翻页,放大之类的功能,毕竟只是个helloworld
,不能奢求太多。

总结
本文中,苏南大叔只是初步演示了pdf.js
的第一个helloworld
的例子,后面的文章中,将会有更复杂的pdf.js
例子的演示。
欢迎关注相关经验文章:https://newsn.net/tag/pdfjs/ 。


