平台自身PDF文件签署(印章标识)

更新时间:2021-11-08 16:20:08

接口描述

使用项目编号绑定的账户完成接入系统本地指定文档的签署。

注:文件一旦签名盖章就不可以再进行任何填写或修改操作,否则在验证签署文件有效性时会显示文件被篡改,请在签章前完成所有内容填充。

文件涉及2个及以上签章时,请注意保留待签署文件和每次签署后的文件(含中间过程生成的文件),方便在签署过程中出现失败时如何选择基于哪份文件进行重签。

接口

SelfSignService.localSignPDFV2(SignPDFFileBean file, PosBean signPos, String sealId, SignType signType)

请求参数

展开全部参数参数名称

类型

必选

长度

参数说明

示例值

sealId

String


签署印章的标识,为0表示用默认印章签署。

印章id获取位置:在E签宝官网用户中心,印章管理位置,印章编号就是印章id

注意:印章数据要和账户信息对应,否则会出现签署的印章和背后的数字证书不一致的情况,从而造成签署纠纷


signType

SignType


签章类型

(1)Single,单页签章

(2)Multi,多页签章

(3)Edges,签骑缝章

(4)Key,关键字签章


file

SignPDFFileBean


签署PDF文档信息



srcPdfFile

String

255

待签署PDF文档本地路径,含文档名(与bytes至少有一个不为空)


bytes

byte[]


待签署PDF文档本地二进制数据(与srcPdfFile至少有一个不为空)


dstPdfFile

String

255

签署后PDF文档本地路径,含文档名(为空时返回签署后的文件流)


fileName

String

255

文档名称,e签宝签署日志对应的文档名,若为空则取文档路径中的名称


ownerPassword

String

100

文档编辑密码,当目标PDF设置权限保护时必填


ShowImage

Boolean


是否增加e签宝logo图标


signPos

PosBean


签章位置信息



posType

int


定位类型,0-坐标定位,1-关键字定位,默认0SignType为关键字签署的时候,为1,否则为0。用户可以不作处理。此处只是为了兼容旧版本而保留


posPage

String(25)

25

签署页码,若为多页签章,支持页码格式“1-3,5,8“,若为坐标定位时,不可空


posX

float


签署位置X坐标,若为关键字定位,相对于关键字的X坐标偏移量,默认0


posY

float


签署位置Y坐标,若为关键字定位,相对于关键字的Y坐标偏移量,默认0


key

String(30)


关键字,仅限关键字签章时有效,若为关键字定位时,不可空关键字建议不要设置特殊字符,因Adobe无法识别部分符号,某些特殊字符会因解析失败从而导致搜索不到


width

float


印章展现宽度,将以此宽度对印章图片做同比缩放。

1) 为空:

若图片宽度超过159,印章宽度等比缩小至159

若图片宽度小于159,印章尺寸默认以图片大小为准;

2) 不为空

印章宽度以传入参数为准。


QrcodeSign

boolean


是否是 二维码签署,默认为false。二维码签署不支持骑缝签和多页签


cacellingSign

boolean


是否是作废签签署,默认为false

显示如图:

AddSignTime

boolean


是否显示本地签署时间,需要width设置92以上才可以看到时间

显示如图:

响应参数

展开全部参数参数名称

类型

必选

参数说明

示例值

FileDigestSignResult

FileDigestSignResult




errCode

int

错误码,0标识成功,其他均标识失败


msg

String

错误信息,错误码对应的说明信息


errorShow

boolean

错误信息是否建议显示


stream

byte[]

完成签署的文档二进制数据


signDetailUrl

String

签署信息电子版链接


signServiceId

String

签署记录id


filePath

String

签署文档源路径


dstFilePath

String

签署后目标路径


markBit

String

客户自由标示位,用于辨识文件


请求示例  

其他示例语言请点击


		// 获取正式生成服务
		// 获取客户端的代码:ServiceClient getKHD = ServiceClientManager.get("您的pojectId");
		// PDF摘要签署服务
		SelfSignService selfSignService = getKHD.selfSignService();
		/**
		 * 平台自身PDF摘要签署(印章标识)
		 * <p>
		 * localSignPDFV2() file 签署PDF文档信息,signPos 签章位置信息, sealId
		 * 签署印章的标识为0表示用默认印章签署,signType签章类型
		 * <p>
		 */
		SignPDFFileBean file = new SignPDFFileBean();
		file.setSrcPdfFile("D:/test-template.pdf");// 待签署PDF文档本地路径,含文档名(与bytes至少有一个不为空)
		file.setDstPdfFile("D:/abc/b.pdf");// 签署后PDF文档本地路径,含文档名(为空时返回签署后的文件流)
		file.setFileName("b");// 文档名称,e签宝签署日志对应的文档名,若为空则取文档路径中的名称
		file.setShowImage(true);// 是否增加e签宝logo图标

		PosBean signPos = new PosBean();
		signPos.setPosType(1);// 定位类型,0-坐标定位,1-关键字定位,默认0,SignType为关键字签署的时候,为1,否则为0。用户可以不作处理。此处只是为了兼容旧版本而保留
		signPos.setPosPage("1-3");// 签署页码,若为多页签章,支持页码格式“1-3,5,8“,若为坐标定位时,不可空
		signPos.setPosX(0);// 签署位置X坐标,若为关键字定位,相对于关键字的X坐标偏移量,默认0
		signPos.setPosY(0);// 签署位置Y坐标,若为关键字定位,相对于关键字的Y坐标偏移量,默认0
		signPos.setKey("甲方签名:");// 关键字,仅限关键字签章时有效,若为关键字定位时,不可空
		//signPos.setCacellingSign(true);// 是否是作废签签署,默认为false;如果签署作废章的话,建议线下也签署一份作废协议,这样法律效力较高
		signPos.setAddSignTime(true);// 是否显示本地签署时间,需要width设置92以上才可以看到时间

		String sealId = "bdd9615d-8d95-4338-80d1-ee62e32da306";//印章id获取位置:在E签宝官网用户中心,印章管理位置,印章编号就是印章id
		FileDigestSignResult fileDigestSignResult = selfSignService.localSignPdfV2(file, signPos, sealId, SignType.Key);
		if (fileDigestSignResult.getErrCode() != 0)
			System.out.println("平台自身PDF摘要签署(印章标识)失败:" + JSONObject.fromObject(fileDigestSignResult));
		else
			System.out.println("平台自身PDF摘要签署(印章标识)成功" + JSONObject.fromObject(fileDigestSignResult));



响应示例

{
    "dstFilePath":"D:\abc\d.pdf",
    "errCode":0,
    "errShow":false,
    "filePath":"",
    "markBit":"",
    "msg":"成功",
    "signDetailUrl":"https://smlweb.tsign.cn/e.html?id=1173409259329768477",
    "signServiceId":"1173409259329768477",
    "stream":[

    ]
}



错误码

错误码

错误描述

解决方案





我要纠错