android 加载PDF

项目中用到了在线加载PDF,原本以为是一件很简单的事情,只要一个webView就可以搞定。但是最终被狠狠的打了脸。经过不懈的努力。终于发现了下面的sdk,支持本地预览和在线预览。不多说。上代码

首先,添加依赖:

implementation 'com.wdeo3601:pdf-view:1.0.4'

注意:添加该依赖后,若要正常运行,所有module的minSdkVersion不可小于21,即 android 5.0

xml引入:
<com.wdeo3601.pdfview.PDFView 
    android:id="@+id/pdfView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

在java中添加:

// 设置当前显示页的前后缓存个数,效果类似 ViewPager 的这个属性
pdfView.setOffscreenPageLimit(2)

// 是否支持缩放
pdfView.isCanZoom(true)

// 设置最大缩放倍数,最大支持20倍
pdfView.setMaxScale(10f)

// 添加水印
pdfView.setWatermark(R.drawable.ic_default_watermark)

// 设置当前页变化的回调监听
pdfView.setOnPageChangedListener(object : PDFView.OnPageChangedListener {
    @SuppressLint("SetTextI18n")
    override fun onPageChanged(currentPageIndex: Int, totalPageCount: Int) {
        // show current page number
    }
})

// 从本地文件打开 pdf
pdfView.showPdfFromPath(filePath)
// 从网络打开 pdf
//pdfView.showPdfFromUrl("url")

至此,即可展示pdf。

猜你喜欢

转载自blog.csdn.net/lixinxiaos/article/details/118388288