--本方法仅仅适合android5以上
最近项目里面涉及到了 在App内部打开pdf文件进行阅读的需求,没办法,pm不让调用系统的pdf阅读软件打开。
网上搜了一圈,主要有两种
缺点:
所示的方式 方式虽多,但是要么是服务器来做,要么是引入的包体积太大,要么是本地用webview加载,实现起来并不符合当前项目的需求
乍一听tbs给的方案 应该很靠谱,方案二实际也是对tbs的封装,但是我这边使用的时候,最开始能够正常加载,后面不知道怎么的,所有的pdf文件都不能加载了,卸载重装也无效,log日志提示某个callback类找不到,tbs官网的论坛上很多人问这个也没人给出解决方案,最后就放弃了这种方案。
后来再github上自己慢慢找,根据排序、更新、star量找到了这个封装库pdfviewPager
优点:
这个库基于android提供的pdfRender 解析pdf文件,把pdf的每一页解析成一张bitmap放到viewpager的每一页,靠谱,比第三方各种ndk功能靠谱。
在每一页提供基本的手势缩放功能。
体积小
集成简单。
自带pdf文件下载功能(我自己写了,没有用它的下载功能)
pdfRender 通过传入fileDiscriptor就可以创建一个实例,看看google官网给的示例:
// create a new renderer
PdfRenderer renderer = new PdfRenderer(getSeekableFileDescriptor());