PDFview展示本地或网络PDF文件

1.依赖jar包

compile com.github.barteksc:android-pdf-viewer:1.4.0
2.xml布局
<com.github.barteksc.pdfviewer.PDFView
        android:id="@+id/pdfView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
<!--scrollBar可以配合PDFView下啦,可以不用-->
    <com.github.barteksc.pdfviewer.ScrollBar
        android:id="@+id/scrollBar"
        android:layout_width="1dp"
        android:background="#00000000"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />
3.代码

先将pdf文件下载到本地,然后打开

pdfView.fromUri(uri)用法
//获取到文件在本地存储的路径
pdfName = Environment.getExternalStorageDirectory() +
        "/download"; //testPic1.pdf为文件下载后的命名
File file = new File(pdfName, "testPic1.pdf");
Uri uri = Uri.fromFile(file);
 pdfView.fromUri(uri)
        .defaultPage(pageNumber)
        .enableDoubletap(true)
        .onDraw(this)
        .onPageChange(this)
        .enableAnnotationRendering(true)
        .onLoad(this)
        .enableDoubletap(true)
        .swipeVertical(true)
        .load(); //另外一个用法pdfView.fromAsset("testPic1.pdf")
.defaultPage(1)
.onPageChange(MainActivity.this)
.swipeVertical(true)
.showMinimap(false)
.enableAnnotationRendering(true)
.onLoad(MainActivity.this)
.load();
记得添加权限
<!--获取sd卡写的权限,用于文件上传和下载-->  
         
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>  
         
     <!--允许读取手机状态 -->  
         
     <uses-permission android:name="android.permission.READ_PHONE_STATE"/>  
         
     <!-- 在sdcard中创建/删除文件的权限 -->  
         
     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />  

经验分享 程序员 微信小程序 职场和发展