Android MuPDF的应用

前面总结了几种PDF查看的方式,如果有人在实际中应用了,可能会发现,还是存在一些问题,比如部分PDF文件无法查看并且还报错导致崩溃。恰巧我们最近的应用中要查看的PDF文件数量较多,问题就越发的明显了。所以只能又找其他的了。
就是MuPDF了,这个用过的都说好。

简单应用

如果你对查看的界面没有什要求,能稳定的查看就行,可以直接添加依赖,步骤如下:
1.添加 MuPDF SDK 到你的工程
该库需要Android 4.1或更高版本。确保应用程序build.gradle中的minSdkVersion至少为16。
android {
defaultConfig {
minSdkVersion 16

}

}

2.maven添加
allprojects {
repositories {
jcenter()
maven { url ‘http://maven.ghostscript.com’ }

}
}

3.在app下的gradle里添加依赖
dependencies {
compile ‘com.artifex.mupdf:viewer:1.12.+’

}

4.愉快的跳转查看了
private void readPdf(String pdfFilePath) {
File file = new File(pdfFilePath);
Uri uri = Uri.fromFile(file);
Intent intent = new Intent(this, DocumentActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);
}
这里涉及到的文件下载保存,前面一篇已经写过了可以参考,写的不好,见谅。

查看页面的定制

成功查看后,可爱的设计师小姐姐可能要你这样显示或者按照产品需求来。不急,下面来看看。

下面都将是在lib工程中操作

上面成功编译成功后,再下面的路径(C:\Users\xx.gradle\caches\modules-2\files-2.1\com.artifex.mupdf)中找到缓存文件,fitz,后面会用到。

1.viewer:使用git把这个拷下来
$ git clone git://git.ghostscript.com/mupdf-android-viewer.git

拉下来后,把viewer中的lib文件整个拖到你的工程中,lib的名字改成mupdf-lib(只要和上面的名字一致就行)

2.由于viewer是个独立的工程,我们要修改的显示页面也在这里面,所以作为module

1)在setting.gradle中配置添加:
include ‘:mupdf-lib’
2)在app下的gradle中添加:
compile project(‘:mupdf-lib’)

3.删除lib中的fitz依赖,将前面缓存文件中的fitz(aar格式)解压出来,复制classes.jar(你也可以改名字,例如fitz.jar)到mupdf-lib中的libs。

4.解压后的fitz文件中的jni目录下有所有的so,考虑到apk的体积和兼容性,我暂时选了armeabi,复制到mupdf-lib中的libs。

5.在其gradle中添加:
android {

sourceSets {
main {
jniLibs.srcDirs = [‘libs’]
}
}
}

6.跳转路径保持一致,不出意外你已经可以正常跑起来了

7.修改显示页面
布局文件在document_activity里,对应的类是这个DocumentActivity。
这里写图片描述
我做的界面就很简洁了,只留了个底部显示页码的textview,其他无用的布局和代码都删除。对应的资源也删干净了。

8.最后一步,编译release版,查看pdf文件,正常。最终包的大小只增大了1.45M,在可接受的范围内,收工。

附上官网地址,有兴趣的可以去看看
https://mupdf.com/

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值