最近由于在开发一款需要上线的电子阅读器,现在详细讲述一下pdf模块部分的分享。

在网上找了好多的开源pdf的源代码,都不是太好,其中看到的最好的是开源的mupdf,优化做的很好,解析的比较快,所以需要对源代码进行加载和构建,因为其的底层通过在ndk写的,所以需要搭建ndk平台换件。

1. Android NDK环境搭建

前面的android 环境搭建就不说了。在这里讲到接下来的NDK环境搭建。首先需要在网上下载android NDK开发包,下载地址是

http://developer.android.com/sdk/ndk/index.html

在官网上找到最新版的NDK(貌似现在已经出到R10了),题外说一点就是在r7之前版本在通过eclise在window系统上编译so文件需要装cygwin,装了r7之上的版本就不需要装cygwin了。下载完成后,将下载的文件解压到电脑的文件夹下,例如“D:\开发工具\android\android_adt\android-ndk-r10e”

解压完成后就只需要在eclipse里面进行路径设置就行了,打开eclipse,window->preferences

b6c81dfec24595aa90317b5af41db32d.png

将历经设置成自己解压后的文件路径就行了。

2.编译so文件

这里 编译文件,我们可以从mupdf的Git托管网站上下载resources.7z,进行再环境里进行编译,编译方法下载文件里有详细教程。下载地址为

http://mupdf.com/downloads/

但是编译很是复杂,这里有我编译好生成的的一个较好的例子,下载地

址http://download.csdn.net/detail/lansus/9058665

下载之后将包导入到eclipse里,pdf实现的接口是在PdfChooseActivity.java文件夹中,所以别忘了把包内的所有文件都拷贝你的工程中,然后处理好MainFest注册信息。然后即可以直接进行接口使用了。

Intent intent = new Intent(mContext, MuPDFActivity.class); //接口pdf,用来打开pdf文件

intent.setAction(Intent.ACTION_VIEW);

intent.setData(Uri.parse(lFileInfo.filePath)); //文件路径要处理好,别因为这个打不开

mContext.startActivity(intent);

这样就可以进行pdf文件进行读取了

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐