Android中使用MuPDF预览PDF文件,并且正常显示电子签章

时间:2024-04-07 14:06:38

1. 前言

早在去年11月,项目的APP就已经集成了MuPDF,可以正常显示带有电子签章的PDF。但是,最近有用户使用了新的电子签章技术,MuPDF加载了带有新电子签章的PDF后,会报“文本重定位”的错误,有些手机(例如:华为 mate 10)会出现无法显示电子签章的情况。所以,不得不紧急处理一下。经过测试定位,最后发现是so文件报错了,报的是“文本重定位”的错。之前完全没接触过NDK开发,对so文件报错要怎么解决毫无头绪。自己去折腾一下NDK是不可能的,要花好多时间呀!然后就想着升级一下MuPDF的SDK吧!问了之前集成该功能的人,SDK是哪里来的,他居然说好像是从网上下载的,具体他问了。我当时内心是崩溃的,好无语。只能靠自己了。Google了一下,发现想升级MuPDF还真不简单。

2. 解决方案

找到了几个与 MuPDF 相关的网站,然后下载网站提供的demo,自己测试看看是否满足需求。经过测试,确实有用。然后我就想通过反编译demo获取源码,免得还得继续在网上找,但是可惜,部分关键代码缺失了,所以我又不得不在网上找源码了。说真的,还真不好找。看了很多博客,但是用的都是MuPDF老版本。最后还是在MuPDF官网找到一些蛛丝马迹。

 

MuPDF官网:https://mupdf.com

官网提供的Android版demo的源码:https://mupdf.com/downloads/archive

提供MuPDF相关的各种产品,包括Android SDK:http://artifex.com/products-mupdf-overview

GitHub上的MuPDF的源码:https://github.com/ArtifexSoftware/mupdf (在这里可以找到com.artifex.mupdf.fitz的源码)

 

Android中使用MuPDF预览PDF文件,并且正常显示电子签章

Android中使用MuPDF预览PDF文件,并且正常显示电子签章

最后附上我个人做的demo,MuPDF相关源码资源在“mupdf”这个模块中,详见 AndroidMuPDF