android 展示pdfView加載并下載

1.展示pdf首先你要獲取你的url
2.添加pdf依賴
//pdf
implementation 'com.github.barteksc:android-pdf-viewer:3.2.0-beta.1'
3.在布局中添加pdf的控件
<com.github.barteksc.pdfviewer.PDFView
    android:id="@+id/pdfView"
    android:layout_below="@id/tab"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:visibility="gone"/>
4.在Activity中找到控件
@BindView(R.id.pdfView)
PDFView pdfView;

5.展示pdf需要先下載pdf (下載工具類和判斷文件是否存在的工具類已在文件夾中)
將url放入,先進(jìn)行判斷,如果文件中下載過pdf則直接顯示,如果文件中沒有下載過,再進(jìn)行下載,最后展示pdf
如果進(jìn)去Activity就要展示PdfView,就調(diào)用loadPdf()方法(因?yàn)閜df展示需要下載,所以進(jìn)入頁(yè)面就要進(jìn)行下載)
//加載pdf:
private void loadPdf(String url) {
    String path = FileUtils.pdfPath(url);//得到pdf本地路徑
    if (FileUtils.fileIsExists(path)) { //文件存在直接顯示
        showPdf(path); //顯示pdf
    } else {    //不存在進(jìn)行下載
        //下載
        download(url, path);
    }
}

//下載pdf:
private void download(String url, String path) {  //得到url 和存儲(chǔ)路徑
    DownloadUtil.download(url, path, new DownloadUtil.OnDownloadListener() {
        @Override
        public void onDownloadSuccess(final String path) {//下載成功 展示pdf
            Log.d("MainActivity", "onDownloadSuccess: " + path);
            showPdf(path);
        }

        @Override
        public void onDownloading(int progress) { //下載進(jìn)度
            Log.d("MainActivity", "onDownloading: " + progress);
        }

        @Override
        public void onDownloadFailed(String msg) { //下載失敗
            Log.d("MainActivity", "onDownloadFailed: " + msg);
        }
    });
}

//顯示pdf:
private void showPdf(String path) {
   pdfView.fromFile(new File(path))   //設(shè)置pdf文件地址
        .defaultPage(0)
        .enableSwipe(false)
        .load();
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容