接口描述
此接口已停止维护,不支持新对接使用
使用项目编号绑定的账户完成接入系统本地指定的单个文档中多个签名域、不同的印章批量签署。
注:文件一旦签名盖章就不可以再进行任何填写或修改操作,否则在验证签署文件有效性时会显示文件被篡改,请在签章前完成所有内容填充。
文件中涉及2个及以上签章时,请注意保留待签署文件/流和每次签署后的文件/流(含中间过程生成的文件/流),方便在签署过程中出现失败时如何选择基于哪份文件/流进行重签。
接口
SelfSignService localBatchSignPdf(SignPDFStreamBean stream, List<SignSignatureInfo> signatureInfos)
请求参数
展开全部参数参数名称 | 类型 | 必选 | 长度 | 参数说明 | 示例值 | ||
![]() | SignPDFStreamBean | 是 | 签署PDF文档信息 | ||||
![]() | byte[] | 是 | 待签署文档本地二进制数据 | ||||
![]() | String | 否 | 255 | 文档名称,e签宝签署日志对应的文档名,若为空则取文档路径中的名称 | |||
![]() | String | 否 | 100 | 文档编辑密码,当目标PDF设置权限保护时必填 | |||
![]() | String | 否 | 255 | 签署后PDF文档本地路径,含文档名(为空时返回签署后的文件流) | |||
![]() | List<SignSignatureInfo> | 是 | 签章信息 | ||||
![]() | int | 是 | 签署印章的标识,为0表示用默认印章签署 注意:印章数据要和账户信息对应,否则会出现签署的印章和背后的数字证书不一致的情况,从而造成签署纠纷 | ||||
![]() | SignType | 是 | 签章类型 (1)Single,单页签章 (2)Multi,多页签章 (3)Edges,签骑缝章 (4)Key,关键字签章 | ||||
![]() | 是 | 签章位置信息 | |||||
![]() | int | 否 | 定位类型,0-坐标定位,1-关键字定位,默认0,SignType为关键字签署的时候,为1,否则为0。用户可以不作处理。此处只是为了兼容旧版本而保留 | ||||
![]() | String | 否 | 25 | 签署页码,若为多页签章,支持页码格式“1-3,5,8“,若为坐标定位时,不可空 | |||
![]() | float | 否 | 签署位置X坐标,若为关键字定位,相对于关键字的X坐标偏移量,默认0 | ||||
![]() | float | 否 | 签署位置Y坐标,若为关键字定位,相对于关键字的Y坐标偏移量,默认0 | ||||
![]() | String | 否 | 30 | 关键字,仅限关键字签章时有效,若为关键字定位时,不可空;关键字建议不要设置特殊字符,因Adobe无法识别部分符号,某些特殊字符会因解析失败从而导致搜索不到 | |||
![]() | float | 否 | 印章展现宽度,将以此宽度对印章图片做同比缩放。 1) 为空: 若图片宽度超过159,印章宽度等比缩小至159; 若图片宽度小于159,印章尺寸默认以图片大小为准; 2) 不为空 印章宽度以传入参数为准。 | ||||
![]() | boolean | 否 | 是否是 二维码签署,默认为false。二维码签署不支持骑缝签和多页签 | ||||
![]() | boolean | 否 | 是否是作废签签署,默认为false | ||||
![]() | boolean | 否 | 是否显示本地签署时间,需要width设置92以上才可以看到时间 |
响应参数
展开全部参数参数名称 | 类型 | 必选 | 长度 | 参数说明 | 示例值 | ||
![]() | FileDigestSignBatchResult | 是 | |||||
![]() | int | 是 | 错误码,0标识成功,其他均标识失败 | ||||
![]() | String | 否 | 100 | 错误信息,错误码对应的说明信息 | |||
![]() | boolean | 否 | 错误信息是否建议显示 | ||||
![]() | byte[] | 否 | 完成签署的文档二进制数据 | ||||
![]() | SignInfo | 否 | 签署记录id等信息 | ||||
![]() | String | 否 | 签章记录id | ||||
![]() | String | 否 | 签署详情查看地址 | ||||
![]() | String | 否 | 签署文档源路径 | ||||
![]() | String | 否 | 签署后目标路径 |
请求示例
其他示例语言请点击
// 获取正式生成服务 // 获取客户端的代码:ServiceClient getKHD = ServiceClientManager.get("您的pojectId"); // PDF摘要签署服务 SelfSignService selfSignService = getKHD.selfSignService(); /** * 平台自身PDF单文档批量摘要签署(文件流&印章标识) */ // 签署文档信息 SignPDFStreamBean stream = new SignPDFStreamBean(); stream.setStream(getFileBytes("D:/test-template.pdf")); stream.setDstPdfFile("D:/abc/j.pdf");// 签署后PDF文档本地路径,含文档名(为空时返回签署后的文件流) stream.setFileName("j");// 文档名称,e签宝签署日志对应的文档名,若为空则取文档路径中的名称 stream.setMarkBit("文件标识"); // 签章位置信息 PosBean signPos = new PosBean(); signPos.setPosType(1);// 定位类型,0-坐标定位,1-关键字定位,默认0,SignType为关键字签署的时候,为1,否则为0。用户可以不作处理。此处只是为了兼容旧版本而保留 signPos.setPosPage("1-3");// 签署页码,若为多页签章,支持页码格式“1-3,5,8“,若为坐标定位时,不可空 signPos.setPosX(60L);// 签署位置X坐标,若为关键字定位,相对于关键字的X坐标偏移量,默认0 signPos.setPosY(0);// 签署位置Y坐标,若为关键字定位,相对于关键字的Y坐标偏移量,默认0 signPos.setKey("杭州天谷");// 关键字,仅限关键字签章时有效,若为关键字定位时,不可空 // signPos.setCacellingSign(true);//是否是作废签签署,默认为false;如果签署作废章的话,建议线下也签署一份作废协议,这样法律效力较高 signPos.setAddSignTime(true);// 是否显示本地签署时间,需要width设置92以上才可以看到时间 SignSignatureInfo signSignatureInfo = new SignSignatureInfo(); signSignatureInfo.setSealId(0);// 签署印章的标识,为0表示用默认印章签署 signSignatureInfo.setSignType(SignType.Key);// 签章类型 signSignatureInfo.setSignPos(signPos);// 签章位置信息 List<SignSignatureInfo> list = new ArrayList<>(); list.add(signSignatureInfo); FileDigestSignBatchResult fileDigestSignBatchResult = selfSignService.localBatchSignPdf(stream, list); if (fileDigestSignBatchResult.getErrCode() != 0) System.out.println("平台自身PDF单文档批量摘要签署(文件流&印章标识)失败:" + JSONObject.fromObject(fileDigestSignBatchResult)); else System.out.println("平台自身PDF单文档批量摘要签署(文件流&印章标识)成功" + JSONObject.fromObject(fileDigestSignBatchResult));
响应示例
{ "dstFilePath":"D:\abc\j.pdf", "errCode":0, "errShow":false, "filePath":"", "msg":"成功", "signDetails":[ { "signDetailUrl":"https://smlweb.tsign.cn/e.html?id=44387718090103145376331568623187937", "signServiceId":"44387718090103145376331568623187937" } ], "stream":[ ] }
错误码
错误码 | 错误描述 | 解决方案 |