接口描述
以绝对文件路径的方式传入文档模板,设置填充的模板文本域Key-Value。调用方法生成PDF文档。存在字体包时可使用。
说明:自2.1.45版本起,e签宝不再允许新开发者集成调用此接口。
接口名称
PdfDocumentService.createFileFromTemplate()
请求参数
展开全部参数参数名称 | 类型 | 必选 | 长度 | 参数说明 | |
file | SignPDFFileBean | 是 | PDF文档信息 | ||
srcPdfFile | String | 否 | 255 | 待填充PDF文档本地路径,含文档名(与bytes至少有一个不为空) | |
bytes | byte[] | 否 | 待填充PDF文档本地二进制数据(与srcPdfFile至少有一个不为空) | ||
dstPdfFile | String | 否 | 255 | 填充后PDF文档本地路径,含文档名(当srcPdfFile传入时,dstPdfFile必传) | |
fileName | String | 否 | 255 | 文档名称,若为空则取文档路径中的名称 | |
ownerPassword | String | 否 | 100 | 文档编辑密码,当目标PDF设置权限保护时必填 | |
ShowImage | Boolean | 否 | 是否增加e签宝logo图标 | ||
isFlat | Boolean | 是 | 填充后是否禁用现有文档中的文本域; 注意:若该参数未禁用文本域的话,一会导致后续盖章之后,Adobe工具验签的时候提示文本被篡改; 二会导致根据关键字盖章的时候,若设置的关键字在是填充在文本域的字,会导致搜索不到关键字 | ||
fontName | FontNames | 是 | 字体包字体
| ||
txtFields | Map | 否 | 待填充的文本域Key-Value值 |
响应参数
展开全部参数参数名称 | 类型 | 必选 | 参数说明 | 示例值 | |
FileCreateFromTemplateResult | FileCreateFromTemplateResult | 是 | |||
errCode | int | 是 | 错误码,0标识成功,其他均标识失败 | ||
msg | String | 否 | 错误码对应的简要描述 | ||
dstPdfFile | String | 是 | 填充后PDF文档的存储路径 |
请求示例
// 获取正式生成服务 // 获取客户端的代码:ServiceClient getKHD = ServiceClientManager.get("您的pojectId"); PdfDocumentService pdfDocumentService = getKHD.pdfDocumentService(); // 签署文档信息 SignPDFFileBean fileBean = new SignPDFFileBean(); fileBean.setSrcPdfFile("D:/test-template.pdf");// 待签署PDF文档本地路径,含文档名(与bytes至少有一个不为空) fileBean.setDstPdfFile("D:/abc/h.pdf");// 签署后PDF文档本地路径,含文档名(为空时返回签署后的文件流) fileBean.setFileName("h");// 文档名称,e签宝签署日志对应的文档名,若为空则取文档路径中的名称 fileBean.setShowImage(true);// 是否增加e签宝logo图标 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":"D:\abc\h.pdf", "errCode":0, "errShow":false, "msg":"成功", "stream":[ ] }
错误码
错误码 | 错误描述 | 解决方案 |
FileCreateFromTemplateResult pdfContactResult=pdfDocumentService.createFileFromTemplate(signPDFStreamTemplateBean,true,args);//模板填充合同内容的pdf ,异常信息org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.AbstractMethodError: com.timevale.esign.ext.sdk.seal.ExtFontLoader.getResource(Ljava/lang/String;)Ljava/lang/String; org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1280) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:958) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863) javax.servlet.http.HttpServlet.service(HttpServlet.java:661) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) | 一般是字体包(ext-sdk-fonts-1.0.3.jar)的问题,请联系交付顾问重新发您一个字体包,您替换下 | |
AbstractMethodError: com.timevale.esign.ext.sdk.seal.ExtFontLoader.getFontBytes(Ljava/lang/String;)[B at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:978) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872) | 一般是字体包(ext-sdk-fonts-1.0.3.jar)的问题,请联系交付顾问重新发您一个字体包,您替换下 |