AndroidPdf框架一览(一)

1. 简介

本章会讲四种可以在Android端使用的pdf框架,并介绍其优势和劣势。

(1)android-pdfview

第一个当然是github上面star 最多android-pdfview,它是基于谷歌的一款开源PDF浏览框架VuDroid封装的Android端框架,
支持缩略图,缩放,页面枚举,默认起始页。还有pdf加载监听,pdf页面滑动监听。
功能很强大,不过很可惜,功能有限,作者也在15年停止了维护。

(2)pdfium

pdfium是谷歌开源的一款高性能的PDF渲染组件,用来作Chrome内核的pdf渲染。支持pdf加密文件打开,支持获取pdf文档信息,作者,标题,副标题,创建日期等…可以将指定的pdf页面渲染成bitmap,这个框架足以实现基本所有pdf定制化操作。美中不足的是框架比较大,对于移动端的包压缩是一个挑战

(3)mupdf

mupdf是一款轻量级的pdf浏览框架,基本上支持前面两者的功能,如果是文本的pdf文档还支持搜索,标注等功能。当之无愧的强大。虽说轻量,但编译出来的so库也不小。

(4)Android原生

Android在API19提供了android.graphics.pdf 这个pdf管理库,主要提供两个类pdfRender 和pdfDocument,pdfdocument 是将View转成pdf文件(require API19),pdfRender是将pdf文件绘制到bitmap上(require API21),这个就是原生提供的pdf浏览框架,但因为API要求很容易被拒之门外,不过随着API迭代,以后可能就无所谓了。

2.四者做一下对比

因为所有的框架都是将pdf转成图片做展示,所以定制化自己都能实现,那在这里这边对四者做一下对比。 这边的信息查看指pdf创建信息,大小指so库大小

框架名称 支持信息查看 支持文本检索 API要求 原始/打包后大小
VuDroid false false API16 or lower 19M->6.7M
pdfium true false API16 or lower 30M->15.3M
mupdf true true API16 or lower 70.2->36.6M
PdfRenderer false false API21 0

总结:mupdf功能最强大,pdfium次之,VuDroid和PdfRender都差不多。
但因为PdfRender有API限制。mupdf库有点大,所以大家根据需求来选择。

3.源码和Demo

VuDroid源码

VuDroidDemo下载地址

pdfium源码

pdfiumDemo下载地址
//写的并不是很好,正在看其他的开源框架思考更好的封装思路ing~~~
mupdf源码

mupdfDemo下载地址

PdfRendererWiki

PdfRenderer下载地址

By Xiaolong,每一天都值得被认真对待!