Android手写签批功能实现(适配Android6.0及以上)

本文介绍了在Android上实现手写签批功能的步骤,包括使用MUPDF加载PDF,计算签名偏移量,以及借助droidText或iText将签名图片嵌入PDF。在MUPDF使用中需要注意6.0及以上版本的兼容性问题,同时讲解了动态获取权限和计算签名位置偏移量的方法。

 Android手写签批功能的实现在于三个点,mupdf,偏移量的计算,droidText0.5.jar
实际步骤:

  1. 使用muPdf将PDF加载出来
  2. 弹出透明的popwindow,popWindow使用画板(一般签批我们都会用有笔锋的钢笔或者毛笔)
  3. 将签批好的图片生成Bitmap
  4. 将该Bitmap通过droidText生成一份新的PDF(这一步放到异步中进行,因为耗时)
mupdf

 我们使用MUPdf来加载PDF,这里不一定要用MUPDF,也可以按照自己的想法来使用其他的,mupdf在Android6.0以上的机型上会出现一个问题libmupdf.so: has text relocations,当我们将targetSdkVersion改成23以下即可,但是这不是我们真正的解决办法,真正的解决办法是重新编译mupdf,这里我们可以参考如何在Android6.0及以上嵌入MuPdf
 根据这篇文章编译出自己想要的so文件,然后直接用就可以了,这里一定要注意:

  1. 在创建new MuPDFCore(path);对象的时候一定要去动态获取权限,不然就会一直报打不开文件,或者找不到文件,这里不会提示权限问题(我是没看见日志提示我是权限的问题)
  2. 因为按照文章来编译的包名是com.artifex.mupdfdemo,所以我们要使用MuPDFCore的时候需要一样的包名结构,这里我们在编译so文件的时候可以去更改他的包名(不想改包名就直接按照他所说的将包名目录全部拷过去)
偏移量的计算

 在PDF签批的时候我们经常遇到一个问题,就是签出的文字不在我们之前签的位置(一般是出在放大或者缩小的时候再签批时),这就是要计算一个偏移量了

//宽度偏移量
float  widthScale=
评论 13
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值