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ù)。