发起方式说明
[!NOTE]
签约合同时,签约方需要在指定的位置上签署合同,本文提供了几种常用方案,帮助客户指定签署方的签章位置。
签字位置-坐标指定
[!NOTE]
设定签约方的chapteJson来指定签字位置,其chateJSON是一个JSONArray数组,其结构如下1、使用签字坐标位置(X Y)需要设置参数positionType=0;且合同发起接口传入签署方信息(signatories)中,需要设置参数chapteJson;
2、注意数组中不能有相同的page页,即不能有相同的第n页。如果有相同的页的不同位置,建议合到一个JSONObject中指定不同的chates;
3、page是从0开始,即page=0表示文件的第一页;
参数说明
[{
"chaptes":[//此为数组, 可以为多个, 即一页可以有多个签字位置
{
"offsetX":0.33,#坐标x百分比,0时为最左边
"offsetY":0.54, #坐标y百分比,0时为最上边
"cheight":70 #章高度设置,可不填写
}
],
"page":0 //pdf所在页,从0开始, 可以为负值:-1为最后一页,依此类推
},
{
"chaptes":[
{
"offsetX":0.33,
"offsetY":0.54
}
],
"page":1
}
]
代码实现
JAVA实现
//签约人信息
SignatoryReq sReq=new SignatoryReq();
sReq.setChapteJson("[{\"page\":0,\"chaptes\":[{\"offsetX\":0.12,\"offsetY\":0.23}]},{\"page\":1,\"chaptes\":[{\"offsetX\":0.45,\"offsetY\":0.67}]}]");
PHP实现
$sReq=new SignatoryReq();
$sReq->chapteJson="[{\"page\":0,\"chaptes\":[{\"offsetX\":0.12,\"offsetY\":0.23}]},{\"page\":1,\"chaptes\":[{\"offsetX\":0.45,\"offsetY\":0.67}]}]";
签字位置-表单域指定
[!NOTE]
用于使用html上传或模版上传使用html标签(当然pdf的文件直接上传也是可以的,不过必须上传的是有表单域的pdf)1、需要设置参数positionType=1,且合同发起接口传入签署方信息(signatories)中,需要设置参数chapteName;
2、如果合同发起上传为pdf时,需pdf自行定义好表单域,
3、如果合同发起上传为html或tmpl时需定义好input标签
html或tmpl中定义input标签说明:
<input type="text" name="ebq" style="width:0;height:0;border:0;margin:0;padding:0;position: relative;">
#使用input标签,此标签不能使用type='hidden'或css的display:none,会造成表单域生成无效。推存以上方式。
#可以使用css的fixed相对定位,和修改left和right
#input标签中的name属性可以自定义
代码实现
JAVA实现
ApplySignReq applySignReq=new ApplySignReq();
applySignReq.setPositionType(1);
applySignReq.setHtmlContent("<meta charset=\"utf-8\">html文件信息001<br/><br/><input type=\"text\" name=\"ebq\" style=\"width:0;height:0;border:0;margin:0;padding:0;position: relative;\">");
......
//签约人信息
SignatoryReq sReq=new SignatoryReq();
sReq.setChapteName("ebq");
PHP实现
$request=new ApplySignReq();
$request->positionType=1;
$request->htmlContent = "<meta charset=\"utf-8\">html文件信息001<br/><input type=\"text\" name=\"ebq\" style=\"width:0;height:0;border:0;margin:0;padding:0;position: relative;\">";
......
$sReq=new SignatoryReq();
$sReq->chapteName="ebq";//使用表单域定位
签字位置-关键字搜索
[!NOTE]
使用关键字搜索方式查找合同的签约位置1、需要设置参数positionType=2,且合同发起接口传入签署方信息(signatories)中,需要设置参数searchKey;
2、关键字(searchKey)支持多个,以英文;(分号)分隔;
3、可以根据查询出来的关键字,指定在第几页(page)、第几个(keyNumber)关键字处盖章;
4、可以根据关键字颜色(fillColor)进行盖章;
关键字扩展说明
#searchKey 关键字支持多个;以英文;分隔
#searchExtend 关键字查询的扩展信息,json的字符串,当page和keyNumber同时存在,先进行page过滤再进行keyNumber过滤
{
"page":0, # 关键字查找的指定页,以0开始:可以为数值/数值数组,数值可为负数;例-1表示最后一页
"keyNumber":0, # 关键字查找的坐标位置,以0开始:可以为数值/数值数组,数值可为负数;例-1表示倒数第一个坐标
"fillColor": { #如要对查询关键字颜色、 透明度过滤可以使用
"red":0, #红,0-255
"green":0,#蓝,0-255
"blue":0, #黄,0-255
"alpha":255 #透明度 ,0不可见,最大255
}
}
#searchConvertExtend 为按关键字查找到的签字位置做偏移使用的参数,json的字符串
{
"fixX":-20, #向左偏移20像素
"fixY":-20 #向下偏移20像素
}
代码实现
JAVA实现
ApplySignReq applySignReq=new ApplySignReq();
applySignReq.setPositionType(2);
......
//签约人信息
SignatoryReq sReq=new SignatoryReq();
sReq.setSearchKey("wz");
PHP实现
$request=new ApplySignReq();
$request->positionType=2;
......
$sReq=new SignatoryReq();
$sReq->searchKey="wz";