ApplySignHtmlSample.java 3.91 KB
package com.project.demo;

import com.junziqian.api.bean.Signatory;
import com.junziqian.api.common.DealType;
import com.junziqian.api.common.IdentityType;
import com.junziqian.api.common.SignLevel;
import com.junziqian.api.request.ApplySignHtmlRequest;
import com.junziqian.api.response.ApplySignResponse;
import com.junziqian.api.util.LogUtils;
import org.ebaoquan.rop.thirdparty.com.google.common.collect.Sets;

import java.io.IOException;
import java.util.HashSet;

/**
 * Created by yfx on 2017-05-24 0024.
 */
public class ApplySignHtmlSample extends JunziqianClientInit {
    public static void main(String[] args) throws IOException {
        ApplySignHtmlRequest.Builder builder = new ApplySignHtmlRequest.Builder();
        //html文件必须设置meta.charset为utf-8|否则会出现乱码。表单域请使用input type=text的,且注明name属性,宽高设置为0
        builder.withHtml("文件名称1.pdf","<meta charset=\"utf-8\">html文件信息" +
                "<input type=\"text\" name=\"ebq\" style=\"width:0;height:0;border:0;margin:0;padding:0;\">"+
                "<br/><br/><br/><br/><br/><br/><br/><br/><input type=\"text\" name=\"ebq\" style=\"width:0;height:0;border:0;margin:0;padding:0;\">"
        );
        
 //  <input type="text" name="ebq" style="width:0;height:0;border:0;margin:0;padding:0;"> 这个标签可以支持任何的css,包括相对定位,和绝对定位。只要用浏览器打开在哪,那固定章的位置在哪
        
        //使用表单域方式给签字位置:
       //html的话一个表单域为,宽高设为0,name参数写入到signatory.chapteName:<input type="text" name="ebq" style="width:0px;heigth:0px;">
       //表单域这种不支持原来的pdf文件已有证书的情况
        
      // builder.withHtml("HTML测试.pdf",FileUtils.readFileToString(new File("D:/tmp/test2.html"), "utf-8"));
        builder.withContractName("只用保全"); //*合同名称
        builder.withContractAmount(20000.00); //合同金额

        HashSet<Signatory> signatories = Sets.newHashSet();
        /**
         * 签约方1
         */
        Signatory signatory = new Signatory();
        signatory.setFullName("唐糖"); //姓名
        signatory.setSignatoryIdentityType(IdentityType.IDCARD); //证件类型
        signatory.setIdentityCard("512501197203035172"); //证件号码
        signatory.setMobile("18623559255");
        signatory.setChapteName("ebq");//签章位置
     	signatory.setSignLevel(0); //0:标准图形章   1:公章或手写
        signatories.add(signatory);

        
        /**
         * 签约方2     
         */
       signatory = new Signatory();
       signatory.setFullName("TT测试公司"); //姓名
       signatory.setSignatoryIdentityType(IdentityType.BIZLIC); //证件类型
       signatory.setIdentityCard("500903000035447");//证件号码(营业执照号或统一社会信用代码)
       signatory.setEmail("demvrsot@www.bccto.me");//企业账户注册邮箱
       signatory.setMobile("18623559271");//企业代表手机
       signatory.setChapteName("ebq");//签章位置
       signatory.setSignLevel(1); //0:标准图形章   1:公章或手写
       signatories.add(signatory);

        builder.withSignatories(signatories); // 添加签约人
        
        builder.withSignLevel(SignLevel.GENERAL.getCode()); // 签字类型,这里选择标准图形章
        //builder.withRemark("这里是备注信息,不超过500个字符"); //备注
        //builder.withPreRecored("前执记录,会计录到日志中!");
         builder.withServerCa(1);//使用云证书,0 不使用,1 使用
        builder.withDealType(DealType.AUTH_SIGN);//自动签
        builder.withFormChapteFlag(1);//企业表单域确定签字位置
     
        ApplySignResponse response = getClient().applySignHtml(builder.build());
        LogUtils.logResponse(response);
    }
}