二、SDK方法说明

**SDK方法说明** 详细的引用方式可以参照demo的源码项目 ***2.1引入插件*** 在布局中引入,如下所示 ``` <com.nj.wellsign.young.verticalScreen.hq.display.WSVerticalPDFView android:id="@+id/pdfview" android:layout_width="match_parent" android:layout_height="match_parent"> </com.nj.wellsign.young.verticalScreen.hq.display.WSVerticalPDFView> ``` 说明: WSVerticalPDFView:是继承RelativeLayout的,可以在这个布局内再添加自定义布局 ***2.2需实现方法*** **初始化好签授权** 在APP初始化的时候调用一次即可(一般在APPContext类或MainActivity类调用) ``` ReturnResult result = WellSign.initializeSNKey(context,sn, key); ``` 参数说明: |参数名称| 参数类型 |说明| |-|-|-| |context |Context |安卓类android.content.Context| |sn |String |好签提供授权码| |key |String |好签提供密钥| 返回值说明: ReturnResult好签定义返回类,包含属性returnCode和returnMessage,可以获取到初始化后返回的code和message,据此判断初始化成功还是失败。 |Code值 |类型 |定义| |-|-|-| |0 |int| 初始化成功| |-1 |int| 授权信息为空或授权日期错误| |-2 |int| 模块名称错误| |-3 |int| 用户名错误| |-4 |int| 包名校验错误| |-5 |int| 解析数据错误| |-6 |int| OEM授权码错误| |-7 |int| APP名校验错误| |-8 |int| 设备平台不符| **initFileProvider()** 作用:初始化FileProvider ``` WellSign.setHQFileProvider("Your FileProvider"); ``` **onActivityResult** 在自定义的Activity的onActivityResult回调中,调用WSVerticalPDFView的类方法: dispatchActivityResult ``` @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // 如果有多个pdfview 则每个pdfview都需要调用 wsVerticalPDFView.dispatchActivityResult(requestCode, resultCode, data); } ``` **closeHQFile()** 作用:关闭本页面,给好签插件调用 示例代码: ``` wsVerticalPDFView.closeHQFile(); ``` **设置pdfview回调事件监听** 作用:监听PDF操作事件 ``` WSVerticalPDFView.VerticalPDFViewCallback callback = new WSVerticalPDFView.VerticalPDFViewCallback() { @Override // 页码改变回调 public void onPageIndexChanged(final int page) {} // 固化完成回调,succeed表示十分成功,code表示状态(-1:没有笔迹需要保存,0:保存成功) @Override public void onSolidResult(boolean succeed, int code) {} // 固化进度回调 @Override public void onSolidProgress(int progress) {} // 保存临时签字文件完成回调 @Override public void onSaveResult(boolean succeed, int code) {} }; ``` 2.4SDK公开方法 |方法名| 说明| |-|-| |openFile(String filePath) |打开pdf文件| |closeFile()| 关闭当前浏览文件| |setPenType(int type)|设置笔类型 type:1 手写模式 type:2 擦除模式 type:3 浏览模式| |setPenColor(int color)|设置手写笔颜色 color| |setPenThick(int thikcness)|设置手写笔粗细 thikcness:0-7 依次变粗| |clearCurrentPageWriteData() |清除当前页涂鸦笔迹| |appendPage()| 在最后一页增加一页空白页| |solidFile() |固化笔迹到pdf中| |switchHQFile( String filePath) |切换pdf文件filePath:文件路径| |setHQAutoDetectePen(boolean detectePen)|设置电磁笔输入isPen:true表示只允许电磁笔手写 false表示都可以输入| |setHqContentView(R.layout.activityvertical ,params)|R.layout.activityvertical 布局文params好签内部控件的布局方式| |haveUnsavedData() |是否有没有保存的信息| |showPdfSignInfo() |获取签字历史信息| |setUserInfo() |设置签字人信息| |jumpToPage(int index) |跳转到指定页| |slidePreviousPage() |向上滑动一页| |slideNextPage() |向下滑动一页| |insertSign() |插入签字| |insertSeal() |插入印章| |insertText() |插入文本| |insertPictureFromAlbum() |从相册插入图片| |insertPictureFromTakePhoto()|拍照插入图片| |insertPicture(Bitmap bitmap) |插入图片到当前页中间| |setUserInfo(String userId, String userName, String desc)|设置签批信息 userId:调用方用户id(唯一性),userName:用户名称,desc:签批描述 2.5 工具类 Wellsign类: |方法名| 说明| |-|-| |getPdfPageCount(String pdfPath)|获取PDF总页数,pdfPath:文件路径| |initializeSNKey(Context context,String sn, String key)|初始化好签授权| |setHQFileProvider(String fileProvider)|设置好签fileProvider| |setHQPDFDisplayMargins(int left, int top, int right, int bottom)|设置PDF展示区域到屏幕边缘的间距单位dp|