版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36707431/article/details/78182394
采用第三方开源库解析,推荐AndroidPdfViewer(github:https://github.com/barteksc/AndroidPdfViewer),它是基于Google的VuDroid类库来解码PDF文件,在APP内直接加载PDF文件;
首先先添加依赖:
compile 'com.github.barteksc:android-pdf-viewer:2.7.0'
其次在xml中声明控件:
<com.github.barteksc.pdfviewer.PDFView
android:id="@+id/pdfView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
最后在代码中直接引用:
pdfView.fromAsset("JavaScript.pdf")
// pdfView.fromUri(Uri.parse(pdfUrl))
// pdfView.fromFile(file)
// pdfView.fromStream(stream)
// all pages are displayed by default
.pages(0,2,1,3,3,3) // 加载显示的页数,默认加载所有的页数
// allows to block changing pages using swipe
.enableSwipe(true) //是否允许翻页,默认是允许翻页
.swipeHorizontal(false) // true:水平翻页 false:竖直翻页
.enableDoubletap(true)
.defaultPage(0) //默认加载页数
// allows to draw something on the current page, usually visible in the middle of the screen
.onDraw(onDrawListener) //绘图监听
// allows to draw something on all pages, separately for every page. Called only for visible pages
.onDrawAll(onDrawListener)
// called after document is loaded and starts to be rendered
.onLoad(onLoadCompleteListener)
.onPageChange(onPageChangeListener)
.onPageScroll(onPageScrollListener)
.onError(onErrorListener)
// called after document is rendered for the first time
.onRender(onRenderListener)
// called on single tap, return true if handled, false to toggle scroll handle visibility
.onTap(onTapListener)
// render annotations (such as comments, colors or forms)
.enableAnnotationRendering(true)
.password(null)//密码
.scrollHandle(null)//滚动处理
// improve rendering a little bit on low-res screens
.enableAntialiasing(true) //低分辨率渲染
// spacing between pages in dp. To define spacing color, set view background
.spacing(0)//页与页之间的距离
.load();//加载
但是,有个弊端就是apk变大了!!!!!