Android 加载PDF文件

今天按项目要求找了一个android的PDF控件,各种操作效果都非常好,在这里和大家分享一下。

用法很简单:

 

1.在build.gradle里面添加依赖 compile 'com.github.barteksc:android-pdf-viewer:2.8.0'

2.然后就可以直接在layout里面使用了

 

<com.github.barteksc.pdfviewer.PDFView
    android:id="@+id/pdfview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

 

3.在Activity里面引用资源,就可以打开pdf文件了,而且这个控件有超级多的方法,支持很多功能

 

   pdfView = findViewById(R.id.pdfview);
   String url="http://www8.cao.go.jp/okinawa/8/2012/0409-1-1.pdf";
   String name=url.split("/")[url.split("/").length-1];
   String pdfPath =Environment.getExternalStorageDirectory().getAbsolutePath() +
        "/Android/data/com.demo/downloadPPT/"+name;
   File file = new File(pdfPath);
   if(file.exists()){ //如果文件存在直接打开
       Uri uri = Uri.fromFile(file);
       pdfView.fromUri(uri)
             .defaultPage(1)
             .enableSwipe(true)
             .load();
   }else {
      showZpDialog("加载中...",2);
      downLoadFile(url,pdfPath);//下载PDF文件
   }
   private void downLoadFile(String url, final String pdfPath) {
        FileDownloader.getImpl().create(url).setWifiRequired(true).
          setPath(pdfPath).setListener(new FileDownloadListener() {
        @Override
        protected void pending(BaseDownloadTask task, int soFarBytes, int totalBytes) {

        }
        @Override
        protected void progress(BaseDownloadTask task, int soFarBytes, int totalBytes) {

        }
        @Override
        protected void blockComplete(BaseDownloadTask task) {

        }

        @Override
        protected void completed(BaseDownloadTask task) {
            hideZpDialog();//隐藏加载框
            Toast.makeText(LookPPTActivity.this,"下载完成!",Toast.LENGTH_SHORT).show();
            File file = new File(pdfPath);
            Uri uri = Uri.fromFile(file);
            pdfView.fromUri(uri)
                    .defaultPage(1)
                    .enableSwipe(true)
                    .load();
        }

        @Override
        protected void paused(BaseDownloadTask task, int soFarBytes, int totalBytes) {

        }

        @Override
        protected void error(BaseDownloadTask task, Throwable e) {
            hideZpDialog();
        }

        @Override
        protected void warn(BaseDownloadTask task) {
          
        }
    }).start();
}

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值