利用pdf.js实现h5预览pdf的功能
背景
在iOS上,直接打开PDF的url便可以直接预览,但是在安卓上,WebView不支持PDF解析,因此会通过连接Google的一个服务器转换成功后返回给WebView显示,也就是会跳转到另一个url去(http://docs.google.com/gview?embedded=true&url=PDF_URL)
那么被墙了或者是这个pdf是私密需鉴权的话,就完全不可用了,因此需要借助第三方库来实现这个功能。
实现
pdf.js拥有29.4k的star数,是一个不错的选择,以react项目为例,先安装相关依赖:npm install pdfjs-dist --save
如果有用到typescript的话还需要安装npm install @types/pdfjs-dist --save-dev
接着就可以开发相关页面了
1 | import React, { useEffect } from 'react'; |
getDocument还能自定义Header,withCredentials等参数,便于通过权限校验