android base64转pdf文件的展示

       最近用到了关于android展示pdf文件,关于pdf的展示,Android现在是不支持webview直接打开的,只能借助外部浏览器获取第三方插件工具。又不能让用户去下载合适的浏览器,只能借用第三方的插件类似小说阅读器的工具来战士pdf文档。调研之后有两种方法解决。

    android展示pdf的工具有两种,一个是:pdfView,在github上面有一个第三方开源的pdf开发SDK,其主页地址是:

            https://github.com/JoanZapata/android-pdfview 

    使用如下:

    

在布局中包含PDFView:
<com.joanzapata.pdfview.PDFView
        android:id="@+id/pdfview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
加载PDF文件:
pdfView.fromAsset(pdfName)
    .pages(0, 2, 1, 3, 3, 3)
    .defaultPage(1)
    .showMinimap(false)
    .enableSwipe(true)
    .onDraw(onDrawListener)
    .onLoad(onLoadCompleteListener)
    .onPageChange(onPageChangeListener)
    .load();

 pdfView可以读取本地文件,缺点是有些大的文件无法读取。

 第二种展示pdf的方式是muPdf:官网地址:http://mupdf.com/docs/

 1.直接直接从官网下载压缩包编译,也可以从网上找直接编译好的,我是从网上直接找到编译好的

 2.将libmupdf.so文件放在如下位置: 



 3.MuPdf的那些类的包名必须是com.artifex.mupdf,如下: 

                                                                 

  4.一定要记得修改build.gradle,否则无法运行。为这个问题纠结了好久,修改如下:

//默认的一些文件路径的配置

      sourceSets {
        main {
            jniLibs.srcDirs = ['libs']//资源文件
        }
    }

  5.在代码中可以直接使用将pdf文件打开如下。

  1. Uri uri = Uri.parse(path);  
  2. Intent intent = new Intent(MainActivity.this,PdfFileActivity.class);  
  3. intent.setAction(Intent.ACTION_VIEW);  
  4. intent.setData(uri);  
  5. startActivity(intent); 


下载地址如下:

http://download.csdn.net/detail/jxhhxj/9670269

你可能感兴趣的:(mupdf,pdfView)