PDF 生成 API
BASE URLhttps://api-server.compdf.com/server/
❖ 功能说明
根据模板或参数生成 PDF 文件。
❖ 调用方式
同步请求 (Sync) ✓
接口完成后直接返回结果文件。推荐在小文件、前端实时交互等需要即时反馈的场景下使用。
异步请求 (Async)
先返回任务受理结果,再通过 taskId 查询处理进度和结果。适用于大文件及批量执行任务。
预签名请求方式
通过预签名等安全机制上传处理,适用于高安全性要求及数据隐私合规场景。
▎调用流程
1上传文件
2调用接口(同步)
3获取结果地址
4下载文件
▎使用限制
| 下载有效期 | 24 小时 |
同步执行
❖ 请求参数 (Parameters)
在 Header 中发送的 x-api-key 认证凭证
Body Parameters multipart/form-data
文件密码(如果 PDF 有密码保护)
接口错误提示语言(1=English,2=中文)
生成类型:html 或 template。不传时按 template/data/templateFile/dataFile 自动推断,否则默认 html。
HTML 字符串;与 htmlFile / htmlUrl 三选一。
HTTP/HTTPS HTML 地址。
未选择文件
HTML 文件。
HTML 模板字符串;与 templateFile 二选一。
未选择文件
HTML 模板文件。
模板数据 JSON 字符串;与 dataFile 二选一。
未选择文件
模板数据 JSON 文件。
相对资源基准路径或 URL。
页面宽度,pt;会映射为 request.pageSize.width。
页面高度,pt;会映射为 request.pageSize.height。
输出文件名。
❖ 响应属性说明
| 字段 | 类型 | 说明 |
|---|---|---|
code | String | 业务状态码 |
msg | String | 返回信息 |
data | Object | 响应数据 |
data.fileKey | String | 文件在存储系统中的唯一 key。 |
data.taskId | String | 任务ID |
data.fileName | String | 源文件名称。预签名模式必填,用于生成对象存储上传地址。 |
data.downFileName | String | 转换完成后的输出文件名。 |
data.fileUrl | String | 源文件存储地址或对象存储 key。 |
data.downloadUrl | String | 文件下载地址 |
data.sourceType | String | 源文件类型 |
data.targetType | String | 目标文件类型 |
data.fileSize | Integer | 源文件大小,单位为字节。 |
data.convertSize | Integer | 转换结果文件大小,单位为字节。 |
data.convertTime | Integer | 单个文件转换耗时,单位通常为毫秒。 |
data.status | String | 文件处理状态。常见值包括 success、failed、processing 等。 |
data.failureCode | String | 文件转换失败时的错误码。 |
data.failureReason | String | 文件转换失败时的错误原因。 |
data.fileParameter | String | 创建任务时提交的转档参数 JSON 字符串。 |
请求示例 (Request)
curl --request POST \
--url https://api-server.compdf.com/server/v2/process/pdf/generate \
--header 'x-api-key: YOUR API-KEY' \
--form [email protected] \
--form [email protected] \
--form [email protected]响应示例 (Response)
200 OK
{
"code": "200",
"msg": "success",
"data": {
"fileKey": "<string>",
"taskId": "<string>",
"fileName": "<string>",
"downFileName": "<string>",
"fileUrl": "<string>",
"downloadUrl": "<string>",
"sourceType": "<string>",
"targetType": "<string>",
"fileSize": 0,
"convertSize": 0,
"convertTime": 0,
"status": "<string>",
"failureCode": "<string>",
"failureReason": "<string>",
"fileParameter": "<string>"
}
}