05 签名相关

## 设置界面结果回调 在签名API前,需要重写用户界面中的onActivityResult方法 **代码示例:** ``` @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); //调用控件API mPdfView.dispatchActivityResult(requestCode, resultCode, data); } ``` ## 插入签名 ### 插入签名 调用本方法后,页面会跳转到签名管理界面。 进入签名管理界面后,SDK自动同步当前用户的签名数据。 使用者可在签名管理界面管理用户签名。 签名默认放置在屏幕中心位置,点选签名后,该签名中被选中,可选择添加时间戳 注意:使用该方法前,请重写onActivityResult方法 **代码示例:** 插入签名到屏幕中心位置 ``` mPdfView.insertSign(); ``` 插入签名到指定位置 ``` mPdfView.insertSign(topLeftx,topLefty,defaultHeight,timestampIndex, timestampPosition,timestampMargin); ``` **接口参数说明:** - topLeftx 类型:float 说明:指定签名左上角x轴坐标(相对于pdf当前页宽度比例值,取值范围0-1) topLeftx=0.5时,即从左上角起始PDF页一半的位置开始插入签名。 - topLefty 类型:float 说明:指定签名左上角y轴坐标(相对于pdf当前页高度比例值,取值范围0-1) - width 类型:float 说明:签名对象插入时最大宽度(相对于pdf当前页宽度比例值,取值范围0-1,不包括0和1),将签名对象限定在宽度和高度矩形范围内 - height 类型:float 说明:签名对象插入时最大高度(相对于pdf当前页高度比例值,取值范围0~1,不包括0和1),将签名对象限定在宽度和高度矩形范围内 - timestampIndex 类型:int 说明:插入签名时,默认显示时间戳的样式 - timestampPosition 类型:int 说明:时间戳位置,值0:时间戳默认显示在签名底部,值1:时间戳默认显示在签名右边 - timestampMargin 类型:float 说明:时间戳距离签名距离,单位px **签名管理界面效果展示:** ::: hljs-center ![截屏20220228 20.26.13.png](https://cos.easydoc.net/99875377/files/l06odsnr.png) ::: --- 以下方法针对部分用户有自定义化的界面的需求,可以使用好签提供的API,实现和业务系统的深度整合: ### 获取签名模板的数据信息 **代码示例:** ``` WellSign.getSignTemplateList(new WSCallBack() { @Override public void result(boolean success, WSResult result) { if(success){ List<UserSignTemplate> userSignTemplateList= (List<UserSignTemplate>) result.getData(); //do something } } }); ``` **接口参数说明:** - WSCallBack 类型:WSCallBack 说明:获取当前用户的所有签名模板信息 集合 **回调说明:** - result 参数:success 类型:boolean 说明:执行结果 参数:result 类型:[WSResult](doc:cH4YGgz7) 说明:结果码和结果信息。result.getData() 为List<UserSignTemplate> 数据,关于UserSignTemplate的[说明](doc:fG6R7F4f) ### 插入指定的签名模板 签名默认放置在屏幕中心位置 **代码示例:** ``` mPdfView.insertSign(templateId); ``` **接口参数说明:** - templateId 类型:String 说明:签名模板ID ### 打开增加签名模板视图 **代码示例:** ``` Intent intent = new Intent(mContext, WSAddSignActivity.class); startActivity(intent); ``` 调用SDK内部新增签名模板Activity,在书写签名保存完毕后即新增成功 **新增签名界面效果展示:** ::: hljs-left ![Screenshot_20220704162539107_com.nj.wellsign.jpg](https://cos.easydoc.net/99875377/files/l57wvcn5.jpg) ::: ### 删除签名模板 由于该接口是异步耗时操作,请自行添加进度条等遮罩直到回调返回。 **代码示例:** ``` WellSign.deleteSignTemplate(templateIdList, new WSCallBack() { @Override public void result(boolean success, WSResult result) { //do something } }); ``` **接口参数说明:** - templateIdList 类型:List<String> 说明:要删除的签名模板id - WSCallBack 类型:WSCallBack 说明:删除结果回调 **回调说明:** - result 参数:success 类型:boolean 说明:执行结果 参数:result 类型:[WSResult](doc:cH4YGgz7) 说明:结果码和结果信息。