填充本地PDF模板文件

更新时间:2024-04-02 19:45:11

接口描述

以绝对文件路径或文件二进制字节流的方式传入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

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

  • true - 禁用(建议传true)
  • false- 不禁用

注意:若该参数未禁用文本域:

(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
}



我要纠错