1. AndroidPdfViewer
导入AndroidPdfViewer
implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
在repositories
里面添加库
maven { url 'https://jcenter.bintray.com' }
布局文件引用PDFView
<com.github.barteksc.pdfviewer.PDFView
android:id="@+id/pdf_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
PdfViewer
为我们提供了以下几种读取文件的方法:
pdfView.fromUri(Uri)
pdfView.fromFile(File)
pdfView.fromBytes(byte[])
pdfView.fromStream(InputStream)
pdfView.fromSource(DocumentSource)
pdfView.fromAsset(String)
Configurator
主要方法
pages(int... pageNumbers) // 指定显示页面,默认全部显示
defaultPage(int defaultPage) // 默认实现页面
enableSwipe(boolean enableSwipe) // 控制屏幕滑动,默认为true能够滑动
enableDoubletap(boolean enableDoubletap) // 禁用双击,默认为true,可以双击
swipeHorizontal(boolean swipeHorizontal) // 开启横向滑动,默认竖向
enableAnnotationRendering(boolean annotationRendering) // 支持电子签
spacing(int spacing) // 页面之间空隙,单位是dp
onLoad(OnLoadCompleteListener onLoadCompleteListener) // 加载结束,开始绘制
onPageScroll(OnPageScrollListener onPageScrollListener) // 监听页面滚动
onPageChange(OnPageChangeListener onPageChangeListener) // 监听页面变化
load() // 最后调用,使配置生效
PDFView
其他方法
jumpTo(int page, boolean withAnimation) // 跳转到指定页面
jumpTo(int page)
getPageCount() // 获取总页面数
getCurrentPage() // 获取当前页面
enableAntialiasing(boolean enableAntialiasing) // 改善渲染效果,默认是false
useBestQuality(boolean bestQuality) // 提高pdf清晰度,把图片格式从RGB_565提高到ARGB_8888,默认是false
canScrollVertically(int direction) // 是否可以纵向滚动,direction大于0,向下滚动,direction小于0,向上滚动
canScrollHorizontally(int direction) // 是否可以横向滚动,direction大于0,向右滚动,direction小于0,向左滚动
github地址: https://github.com/barteksc/AndroidPdfViewer
2. mupdf
导入mupdf
implementation 'com.artifex.mupdf:fitz:1.20.2'
在repositories
里面添加库
maven { url 'https://maven.ghostscript.com/' }
mupdf提供了解析代码,Document
读取pdf文件,AndroidDrawDevice
把pdf转换成图片显示。
var document = Document.openDocument(byteArray, "application/octet-stream")
var pageCount = document.countPages()
LogTool.logi("MuPdfViewActivity", "pageCount = $pageCount")
if (pageCount >= 1) {
var bitmapList = mutableListOf<Bitmap>()
for (pageIndex in 0 until pageCount) {
var page = document.loadPage(pageIndex)
var matrix = AndroidDrawDevice.fitPageWidth(page, displayMetrics.widthPixels)
var bitmap = AndroidDrawDevice.drawPage(page, matrix)
bitmapList.add(bitmap)
}
}
mupdf-android-viewer
是 MuPDF 为 Android 平台提供的查看器,它的代码可以通过 Git 下载得到:文章来源:https://www.toymoban.com/news/detail-536948.html
$ git clone git://git.ghostscript.com/mupdf-android-viewer.git
我们可以把mupdf-android-viewer
作为一个模块拷贝到自己的项目中,直接使用文章来源地址https://www.toymoban.com/news/detail-536948.html
到了这里,关于Android Pdf第三方框架的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!