PDF 页面插入 API
BASE URLhttps://api-server.compdf.com/server/
❖ 功能说明
在目标 PDF 的指定位置插入来自另一个 PDF 的页面或空白页。
❖ 调用方式
同步请求 (Sync) ✓
接口完成后直接返回结果文件。推荐在小文件、前端实时交互等需要即时反馈的场景下使用。
异步请求 (Async)
先返回任务受理结果,再通过 taskId 查询处理进度和结果。适用于大文件及批量执行任务。
预签名请求方式
通过预签名等安全机制上传处理,适用于高安全性要求及数据隐私合规场景。
▎调用流程
1上传文件
2调用接口(同步)
3获取结果地址
4下载文件
▎使用限制
| 下载有效期 | 24 小时 |
同步执行 /pdf/insert
❖ 请求参数 (Parameters)
在 Header 中发送的 x-api-key 认证凭证
Body Parameters multipart/form-data
操作类型。FROM_PDF:从另一个 PDF 中插入页面(需要上传 2 个文件)。BLANK:插入空白页(需要上传 1 个文件并提供 width/height)。
未选择文件
上传文件列表。file[0] 是被插入的目标 PDF,file[1] 是提供插入页面的源 PDF。使用 FROM_PDF 时需要上传这两个文件。
插入位置,从 1 开始计数。表示把第二个文件中的页面插入到第一个文件的第 index 页位置。
输出文件名
从第二个文件中选哪些页插入,格式如 "1-3,6";留空表示把第二个文件的全部页都插入到第一个文件中。
目标 PDF 密码
待插入 PDF 密码
文件服务器上传密码(用于上传主文件)
接口错误提示语言。1=English,2=中文。
❖ 响应属性说明
| 字段 | 类型 | 说明 |
|---|---|---|
actionType | String | 操作类型。FROM_PDF:从另一个 PDF 中插入页面(需要上传 2 个文件)。BLANK:插入空白页(需要上传 1 个文件并提供 width/height)。 |
code | String | 业务状态码 |
msg | String | 返回信息 |
data | Object | 响应数据 |
data.actionType | String | 操作类型。FROM_PDF:从另一个 PDF 中插入页面(需要上传 2 个文件)。BLANK:插入空白页(需要上传 1 个文件并提供 width/height)。 |
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/insert \
--header 'x-api-key: YOUR API-KEY' \
--form [email protected] \
--form [email protected] \
--form actionType=FROM_PDF响应示例 (Response)
200 OK
{
"actionType": "<string>",
"code": "200",
"msg": "success",
"data": {
"actionType": "<string>",
"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>"
}
}