接口描述
以绝对文件路径或文件二进制字节流的方式传入PDF文件模板,传入待填充的模板文本域Key-Value,生成最终待签署的PDF文件,接口使用 宋体 字体进行填充。
接口名称
PdfDocumentService.createFileFromTemplate(SignFilePdfParam file, boolean isFlat, Map<String, Object> txtFields)
请求参数
展开全部参数参数名称 | 类型 | 必选 | 参数说明 | |
file(点击“+”展开详情) | SignFilePdfParam | 是 | PDF文件信息 | |
fileName | String | 否 | 文件名称,若为空则取文件路径中的名称(文件流方式建议必传) | |
srcPdfFile | String | 否 | 待填充PDF文件本地路径,含文件名(与streamFile至少有一个不为空) | |
streamFile | byte[] | 否 | 待填充PDF文件本地二进制数据(与srcPdfFile至少有一个不为空,两者都传优先取streamFile) | |
dstPdfFile | String | 否 | 填充后PDF文件本地路径,含文件名(当srcPdfFile传入时,dstPdfFile必传) | |
password | String | 否 | 文件编辑密码,当目标PDF设置权限保护时必填 | |
isFlat | boolean | 是 | 填充后是否禁用现有文件中的文本域
注意:若该参数未禁用文本域: (1)会导致后续盖章之后,Adobe工具验签的时候提示文本被篡改; (2)会导致根据关键字盖章的时候,若设置的关键字是填充在文本域的字,会导致搜索不到关键字。 | |
txtFields | Map | 否 | 待填充的文本域Key-Value值 |
响应参数
展开全部参数参数名称 | 类型 | 必选 | 参数说明 | |
fileCreateFromTemplateResult (点击“+”展开详情) | FileCreateFromTemplateResult | 是 | 响应结果类 | |
errCode | int | 是 | 错误码,0标识成功,其他均标识失败 | |
msg | String | 否 | 错误码对应的简要描述 | |
errorShow | boolean | 否 | 错误信息是否建议显示 | |
dstPdfFile | String | 否 | 填充后PDF文件的存储路径,dstPdfFile传入时返回 | |
stream | byte[] | 否 | 填充后PDF文件的文件流,dstPdfFile为空时返回 |
请求示例
// 获取客户端的代码:
ServiceClient getKHD = ServiceClientManager.get("您的pojectId");
PdfDocumentService pdfDocumentService = getKHD.pdfDocumentService();
//PDF文件信息
SignFilePdfParam file = new SignFilePdfParam();
file.setSrcPdfFile("D:/test/PDFTemplate.pdf");// 待填充PDF文件本地路径
file.setDstPdfFile("D:/test/Filled_PDFTemplate.pdf");// 填充后PDF文件本地路径
file.setFileName("Filled_PDFTemplate.pdf");// 文件名称,若为空则取文件路径中的名称
//填充信息
Map<String, Object> txtFields = new HashMap<>();// 模板中包含待填充文本域时,文本域Key-Value组合
txtFields.put("idno", "2311******1111");
txtFields.put("name", "张三");
txtFields.put("year", "2023");
txtFields.put("month", "10");
txtFields.put("day", "15");
FileCreateFromTemplateResult fileCreateFromTemplateResult = pdfDocumentService.createFileFromTemplate(file, true, txtFields);
if (fileCreateFromTemplateResult.getErrCode() != 0)
System.out.println("失败" + JSONObject.fromObject(fileCreateFromTemplateResult));
else
System.out.println("成功" + JSONObject.fromObject(fileCreateFromTemplateResult));
响应示例
{
"msg": "成功",
"dstPdfFile": "D:/test/Filled_PDFTemplate.pdf",
"stream": [],
"errCode": 0,
"errShow": false
}