填充模板生成PDF文件

更新时间:2022-09-27 14:13:54

文档变更

2022年时,填充内容生成PDF变为填充模板生成待签文件,仅中文名称变更,其功能保持不变。

2021年时,通过模板创建文件变为填充内容生成PDF,其接口功能未做调整。

接口描述

通过动态传入数据的方式填充模板文件内容并生成PDF文件。

通过向模板文件中的控件中动态传入数据的方式填充内容生成PDF格式的待签文件。

注意:

(1)文件名 fileName 参数值不可以含有以下特殊字符:

/ \ : * " < > | ?以及所有emoji表情

(2)内容填充前必须已完成模板文件内填写控件的设置。

接口地址&请求方式

接口地址:/v1/files/createByTemplate

请求方式:POST

请求头格式

具体请求头格式结构,请点击查看公共参数说明

请求参数

参数名称

类型

必选

参数类型

参数说明

(左右拖动查看完整描述)

name

string

body

文件名称(必须带上文件扩展名,不然会导致后续发起流程校验过不去 示例:合同.pdf );

注意:

(1)该字段的文件后缀名称和真实的文件后缀需要一致。比如上传的文件类型是word文件,那该参数需要传“xxx.docx”,不能是“xxx.pdf”

(2)文件名称不支持以下9个字符:/ \ : * " < > | ?以及所有emoji表情

templateId

string

body

模板编号

(1)正式环境可通过e签宝网站->企业模板下创建和查询

(2)通过上传方式方式创建模板接口获取模板id和上传链接,文件流上传文件成功之后,模板id可用于这里

simpleFormFields

object

body

输入项填充内容,key:value 传入;

可使用输入项组件id+填充内容,也可使用输入项组件key+填充内容方式填充

  • 如何进行图片控件填充【请点击

strictCheck

boolbean

body

开启simpleFormFields为空校验,默认false,

传 false:允许simpleFormFields为空,此时模板中所有待填写字段均为空值;

传 true: 当模板中存在必填字段时,不允许simpleFormFields为空,否则会报错 "创建合同失败: 'null'填充内容缺失";

注:此参数可以实现拦截必填字段传null或不传值的情况。

响应参数

展开全部参数参数名称

类型

必选

参数说明

code

int

业务码,0表示成功

message

string

业务信息

data

object

业务数据

fileId

string

文件ID

fileName

string

文件名称

downloadUrl

string

PDF文件下载链接,有效期60分钟。

请求示例

{
    "name":"模板文件ten",
    "simpleFormFields":{
        "name":"测试甲方",
        "yifang":"测试乙方"
    },
    "templateId":"bd4f8b3fc02047a9be661d164eceb288"
}

响应示例

{
    "code":0,
    "data":{
        "downloadUrl":"https://esignoss.oss-cn-hangzhou.aliyuncs.com/1111563786/677c0013-5f2f-4306-a0d6-78ae96b6acd4/three_page.pdf?Expires=1561465463&OSSAccessKeyId=LTAIdvHfiVrzDKbE&Signature=SJPYKClVxXbvJUOjwnvhYUXS15A%3D",
        "fileId":"b1a149a2968a466984864cc222a02e9c",
        "fileName":"模板文件ten"
    },
    "message":"成功"
}

错误码

错误码

错误描述

排查方法

(左右拖动查看完整描述)

401

1.token过期了

2.header请求头不正确

3.apiurl和应用ID环境不对应,例如apiurl是模拟环境,应用ID是正式环境的

1430601

创建合同失败: 'xxx'的内容超出区域

检查添加输入项组件/v1/docTemplates/{templateId}/components接口调用的时候,设置的输入项组件宽度和高度是不是太小了

1430601

创建合同失败: 填充内容缺失

问题原因:

(1)e签宝官网获取的模板id,在通过模板创建文件的时候只支持输入项组件id+填充内容

(2)如果是接口(上传方式创建模板)获取的模板id,这个是模板中有一项或者几项没有填,可以用查询模板详情查出来,然后比照一下填充内容,看看缺了哪一个

解决办法:

(1)e签宝官网获取的模板id,在通过模板创建文件的时候只支持输入项组件id+填充内容

(2)先调用接口/v1/docTemplates/{templateId}(查询模板详情)接口,或者通过Adobe Reader软件看下文档的输入项组件一共有几个,在调用通过模板创建文件接口的时候这些输入项组件必须都填充上


我要纠错