pdf.js是在线预览PDF的一款神器。 在电脑上,一般直接提供pdf文件,iframe一下就可以直接预览了。移动端ios上也可以直接预览,而在安卓手机上会跳转到下载文件的页面,而无法在线预览文件(为什么会发生这种问题?原因是安卓微信浏览器内核是QQ浏览器的X5内容,如检测文件流就会下载它,而不是打开如果想要逆天而行就继续往下看吧==),我们就可以使用这个插件的解决相关问题。
官方示例:http://mozilla.github.io/pdf.js/examples/index.html#interactive-examples
github下载地址:https://github.com/mozilla/pdf.js
第一步:下载pdf.js
第二步:下载解压,文件内容如下图
第三步:直接打开viewer.html是空白,pdf没有加载出来,如下
因为运行viewer.html需要在服务器环境上运行才有反应
如果没有安装服务器可以安装进行测试(寡人提供两种方式IIS和MAMP)
可以用IIS进行测试没有安装可以移步?
win10IIS安装使用教程
1.安装好后我们把压缩好的文件夹添加进去
2.根据你分配的ip,在浏览器地址栏输入ip改为你的(http://192.168.1.102/web/viewer.html)
就可以看到下载的默认的pdf了。
还可以用MAMP进行测试没有安装可以移步?
MAMP安装使用教程
1.安装好了我们就使用它,首先把解压的文件夹复制一份到MAMP存文件的文件夹(htdocs)?详细介绍了。
2.开启MAMP服务
3.输入地址localhost,这个MAMP默认的文件
4.找到复制进去的文件夹,按层级找到viewer.html所在位置,默认pdf文件打开了。
四、现在能运行了,那么如何替换自己需要替换的pdf
1.把默认的换成自己的
2.在viewer.js中检索DEFAULT_URL 得到这个
compressed.tracemonkey-pldi-09换成自己的文件名,例如:我的-applet.pdf,
如果pdf文件与viewer.js不在一层目录中,改成相对路径即可:
var DEFAULT_URL = ' ../doc/ applet.pdf'.
4.刷新浏览器(有可能会f5刷新还是出不来,需要强行刷新Ctrl+F5)。
五、我们发现了,viewer.js中DEFAULT_URL后面只能放一个文件名,如果我要展示多个应该如何呢?
1.viewer.html可以通过页面参数传值的方式加载pdf文件,例如:我们想打开applet.pdf文件的话
2.先把viewer.js中的参数修改为空:
3.然后把url改写为参数传值:http://localhost/pdfjs/web/viewer.html?file=applet.pdf
4.浏览器地址输入http://localhost/pdfjs/web/viewer.html?file=applet.pdf
5.换一个pdf文件试试,也可以打开
这样需要多少pdf文件就可以放入到文件夹来,当你的项目用到这么多的时候,比如点击按钮跳转
http://localhost/pdfjs/web/viewer.html?file=applet.pdf
这个就是一个pdf文件的连接,当然localhost是你服务器的ip地址。