Android Pdf第三方框架

这篇具有很好参考价值的文章主要介绍了Android Pdf第三方框架。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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 下载得到:

$ 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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 安全开发-JS应用&NodeJS指南&原型链污染&Express框架&功能实现&审计&WebPack打包器&第三方库JQuery&安装使用&安全检测

    Node.js是运行在服务端的JavaScript 文档参考:https://www.w3cschool.cn/nodejs/ Nodejs安装:https://nodejs.org/en 三方库安装 express:Express是一个简洁而灵活的node.js Web应用框架 body-parser:node.js中间件,用于处理 JSON, Raw, Text和URL编码的数据。 cookie-parser:这就是一个解析Cookie的工具。通过re

    2024年02月11日
    浏览(48)
  • SpringBoot集成常用第三方框架-RabbitMQ

    作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库

    2024年01月17日
    浏览(35)
  • SpringBoot集成常用第三方框架-ES

    作者主页:编程指南针 作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师 主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库

    2024年02月03日
    浏览(38)
  • python使用第三方库PyPDF2、PDFMiner或pdfplumber来解析PDF文件

    使用第三方库PyPDF2、PDFMiner或pdfplumber来解析PDF文件可以实现PDF文件的内容提取、搜索和修改等功能。下面是使用PDFMiner来解析PDF文件的安装说明和代码示例: PDFMiner 下面是一些PDFMiner的常见操作: 1.安装PDFMiner库:在Python环境中,可以使用pip命令安装PDFMiner库。 2.导入PDFMiner库

    2024年02月09日
    浏览(43)
  • Android 解决第三方库版本冲突

    在开发游戏SDK时会使用一些第三方库,例如上文提到的 OkHttp ,或者集成某些第三方,而这些第三方使用的系统库(例如 supportv7)和项目组使用的版本不一致,在编译时就会出现版本冲突问题。解决办法有两个: 尽量不使用第三库,例如针对 OkHttp ,如果没有特殊的需求(比

    2023年04月27日
    浏览(92)
  • Spring xml 方式整合mybatis 第三方框架

    MyBatis提供了mybatis-spring.jar专门用于两大框架的整合。 ①:第一步: 导入MyBatis整合Spring的相关坐标; ②:第二步: 编写Mapper和Mapper.xml ③:第三步: 配置SqlSessionFactoryBean和MapperScannerConfigurer ④:第四步: 编写测试代码

    2024年02月13日
    浏览(44)
  • 【干货】Android系统定制基础篇:第十四部分(禁止第三方应用调用系统设置、增加TP配置、增加摄像头镜像设置、增加摄像头默认角度设置、修改默认语言)

    修改文件 frameworksbasecorejavaandroidappActivityManagerNative.java 如下: 属性配置: Android 主板定制过程中经常出现客户需要临时适配各种 TP(包括 USB TP),因此在设置菜单中加入 xy 交换,x 反转,y 反转常用配置,以客户多样性需求。 以下修改基于Android 8.1 SDK,如下: 属性配置

    2024年02月10日
    浏览(28)
  • Python第三方库 - Flask(python web框架)

    1.1 认识Flask Web Application Framework ( Web 应用程序框架)或简单的 Web Framework ( Web 框架)表示一个库和模块的集合,使 Web 应用程序开发人员能够编写应用程序,而不必担心协议,线程管理等低级细节。 1.2 Pycharm安装与简单测试 1.2.1 安装 Pycharm 安装 Flask 框架 File → Settings →

    2024年04月28日
    浏览(32)
  • Android Studio查看第三方库依赖树

    在Android开发过程中,我们或多或少都会引入第三方库,引入的库越多,越容易产生库之间的依赖冲突,所以我们今天一起来了解Android Studio查看第三方库依赖树。 下面就拿我遇到的问题还原一下: 之前接人容联客服系统的时候,集成完成后进入客服页面发生闪退,我们回顾

    2024年02月08日
    浏览(39)
  • Android Studio连接使用第三方模拟器

           使用Android Studio自带的模拟器,第一会比较卡,第二配置容易出错,第三,自带的模拟器很吃电脑配置。如果电脑配置较差,会比较耽误事。所以为例解决上面三个问题,可以在电脑上按照第三方手机模拟器,例如:夜神模拟器、雷电模拟器、MUMU模拟器等等,不管是

    2024年01月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包