引入
api 'com.github.barteksc:android-pdf-viewer:2.4.0'
使用工具包加载云端PDF文件,异常报错,所以把文件下载下来保存到本地,再做加载
DownLoadUtils工具类前面文章里面有
Android 文件下载_积少成多,逐渐深入的博客-CSDN博客_android 文件下载
DownloadUtil.get().download(url, getExternalCacheDir().getPath(), new DownloadUtil.OnDownloadListener() {
@Override
public void onDownloadSuccess(File file) {
L.e("onDownloadSuccess:" + file.getPath());
pdfFile = file;
handler.sendEmptyMessage(1);
}
@Override
public void onDownloading(int progress) {
L.e("onDownloading:" + progress);
}
@Override
public void onDownloadFailed() {
hideLoading();
L.e("onDownloadFailed");
}
});
<com.github.barteksc.pdfviewer.PDFView
android:id="@+id/pdf_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
pdfView.fromFile(pdfFile).load();
加载PDF
pdfView.fromUri(Uri)
pdfView.fromFile(File)
pdfView.fromBytes(byte[])
pdfView.fromStream(InputStream) //流被写入字节数组
pdfView.fromSource(DocumentSource)
pdfView.fromAsset(String)
.pages(0,2,1,3,3,3) //默认显示所有页面
.enableSwipe( true ) //允许使用滑动阻止更改页面
.swipeHorizo??ntal(false)
.enableDoubletap(true)
.defaultPage(0)
//允许在当前页面上绘制一些东西,通常在屏幕中间可见
.onDraw(onDrawListener)
//允许在所有页面上绘制一些东西,分别为每个页面绘制。仅对可见页面调用
.onDrawAll(onDrawListener)
.onLoad(onLoadCompleteListener) //在文档加载并开始渲染后调用
.onPageChange(onPageChangeListener)
.onPageScroll(onPageScrollListener)
.onError(onErrorListener)
.onPageError(onPageErrorListener)
.onRender(onRenderListener) //在第一次渲染文档后调用
//在单击时调用,如果处理则返回 true,false 以切换滚动句柄可见性
.onTap(onTapListener)
.enableAnnotationRendering(false) //渲染注释(例如注释、颜色或表单)
.password(null)
.scrollHandle(null)
.enableAntialiasing(true) //在低分辨率屏幕上稍微改进渲染
// dp 中的页面间距。要定义间距颜色,请设置视图背景
.spacing(0)
.invalidPageColor(Color.WHITE) //无效且无法加载的页面颜色
.load();
|