Android 加载PDF文件

版权声明:本文为博主原创文章,未经博主允许不得转载。 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变大了!!!!!


猜你喜欢

转载自blog.csdn.net/qq_36707431/article/details/78182394