本地PDF模板文件流填充(可选字体)

更新时间:2021-06-01 17:42:07

接口描述

以文件流的方式传入文档模板,设置填充的模板文本域Key-Value。调用方法生成PDF文档。存在字体包时,默认选用 黑体 字体进行填充。

说明:自2.1.45版本起,e签宝不再允许新开发者集成调用此接口。

接口名称

PdfDocumentService.createFileFromTemplate(SignPDFStreamBean,fileBean,boolean isFlat, Map<String, Object> txtFields)

请求参数

展开全部参数参数名称

类型

必选

长度

参数说明

fileBean

SignPDFStreamBean


PDF文档信息


stream

byte[]


待填充文档本地二进制数据

fileName

String

255

文档名称,若为空则取文档路径中的名称

ownerPassword

 

String

100

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

dstPdfFile

String

255

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

isFlat

boolean


填充后是否禁用现有文档中的文本域;


注意:若该参数未禁用文本域的话,一会导致后续盖章之后,Adobe工具验签的时候提示文本被篡改;

二会导致根据关键字盖章的时候,若设置的关键字在是填充在文本域的字,会导致搜索不到关键字

fontName

FontNames


字体包字体

  • SIMHEI,黑体
  • MSYH,微软雅黑
  • SIMKAI,楷体
  • SIMSUN,宋体
  • SIMFANG,仿宋
  • NSIMSUN,新宋体

txtFields

Map


待填充的文本域Key-Value值

响应参数

展开全部参数参数名称

类型

必选

参数说明

示例值

FileCreateFromTemplateResult

FileCreateFromTemplateResult




errCode

int

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


msg

String

错误码对应的简要描述


dstPdfFile

String

填充后PDF文档的存储路径

请求示例  

		// 获取正式生成服务
		// 获取客户端的代码:ServiceClient getKHD = ServiceClientManager.get("您的pojectId");
		PdfDocumentService pdfDocumentService = getKHD.pdfDocumentService();

		// 签署文档信息

		SignPDFStreamBean fileBean = new SignPDFStreamBean();
		fileBean.setStream(getFileBytes("D:/test-template.pdf"));
		fileBean.setDstPdfFile("D:/abc/g.pdf");// 签署后PDF文档本地路径,含文档名(为空时返回签署后的文件流)
		fileBean.setFileName("g");// 文档名称,e签宝签署日志对应的文档名,若为空则取文档路径中的名称
		fileBean.setMarkBit("文件标识");

		Map<String, Object> txtFields = new HashMap<>();// 模板中包含待填充文本域时,文本域Key-Value组合
		txtFields.put("user1", "杭州天谷");
		txtFields.put("user2", "芜浣");
		txtFields.put("year", "2019");
		txtFields.put("month", "09");
		txtFields.put("day", "19");

		FileCreateFromTemplateResult fileCreateFromTemplateResult = pdfDocumentService.createFileFromTemplate(fileBean,
				true, txtFields, FontNames.NSIMSUN);
		if (fileCreateFromTemplateResult.getErrCode() != 0)
			System.out.println("失败" + JSONObject.fromObject(fileCreateFromTemplateResult));
		else
			System.out.println("成功" + JSONObject.fromObject(fileCreateFromTemplateResult));

响应示例

{
    "dstPdfFile":"",
    "errCode":0,
    "errShow":false,
    "msg":"成功",
    "stream":[
        37,
        80,
        68,
        70,
        45,
        49,
        ... ...
    ]
}

错误码

错误码

错误描述

解决方案


我要纠错