请求说明
注意事项
- 接口返回的文件下载链接一般会在次日24点删除,请及时下载保存。
- 调用接口时,请注意文档中对应接口的参数传递方式,是否需要携带Token,防止参数混淆。
- HTTP状态200表示您的HTTP请求成功,不代表文件处理成功。
异步任务处理说明
为了满足用户对高并发的需求,ComPDFKit API默认使用消息队列异步处理任务请求,保证API的高可用性。
接口类型 | 请求方式 | 结果返回方式 | 优缺点 |
---|---|---|---|
异步 | 发送请求后,无需等待任务处理完毕,一次主动获取结果 | 通过查询任务结果接口获取识别结果 | 并发量大时成功率高;网络传输慢或者不是特别稳定时更稳定 |
请求PDF工具列表
该接口用于获取ComPDFKit API支持的所有PDF工具集合,可以查询各个PDF工具的URL。
请求方式
- 请求方式:GET
- 参数传递方式:Query
请求地址
https://api-server.compdf.com/server/v1/tool/support
返回参数
参数 | 数据类型 | 说明 |
---|---|---|
sourceTypeName | String | 源文件格式 |
targetTypeName | String | 目标文件格式 |
executeTypeUrl | String | 执行任务的类型 |
"code": "200",
"msg": "success",
"data": {
{
"sourceTypeName": "pdf",
"targetTypeName": "docx",
"executeTypeUrl": "pdf/docx"
},
{
"sourceTypeName": "pdf",
"targetTypeName": "jpg",
"executeTypeUrl": "pdf/jpg"
},
{
"sourceTypeName": "doc",
"targetTypeName": "pdf",
"executeTypeUrl": "doc/pdf"
}
......
}
创建任务
根据您选择的PDF工具类型,系统会自动为您生成一个任务ID,您可以提供回调通知URL,任务处理完成后,我们会通过回调接口通知您任务结果,您可以根据任务结果进行其他操作,如下载结果文件等。
请求方式
- 请求方式:GET
- 参数传递方式:Path
Path参数
参数 | 数据类型 | 说明 | 必填 |
---|---|---|---|
executeTypeUrl | String | 执行任务类型 | 是 |
请求参数
参数 | 数据类型 | 说明 | 必填 |
---|---|---|---|
language | Integer | 接口错误提示语言(1、英文、2、中文) | 否 |
请求地址
https://api-server.compdf.com/server/v1/task/{executeTypeUrl}
返回参数
参数 | 数据类型 | 说明 |
---|---|---|
taskId | String | 任务id |
"code": "200",
"msg": "success",
"data": {
"taskId": "2da9dc86-5f41-4991-b9da-bc8434f64cc5"
}
上传文件
上传原始文件,并将文件与任务ID绑定,field参数用于传递JSON字符串,设置文件的处理参数,每个文件会自动生成一个唯一的filekey。请注意,一个任务ID最多可以上传5个文件,任务启动后将无法再上传任何文件。
请求方式
- 请求方式:POST
- 参数传递方式:Body(form-data)
请求参数
参数 | 数据类型 | 说明 | 必填项 |
---|---|---|---|
file | File | 上传的文件 | 是 |
taskId | String | 任务id | 是 |
password | String | 密码 | 否 |
parameter | String | 文件处理参数 | 否 |
image | File | 水印图片(添加图片水印时需添加此参数) | 否 |
language | Integer | 界面错误提示语言(1、英文,2、中文) | 否 |
仅对当前支持的函数设置处理参数,若不设置参数则使用默认值。不同函数类型对应的JSON格式及字段解释请参见工具指南。
请求地址
https://api-server.compdf.com/server/v1/file/upload
返回参数
参数 | 数据类型 | 描述 |
---|---|---|
fileKey | String | 文件唯一标识 |
fileUrl | String | 文件下载链接 |
"code": "200",
"msg": "success",
"data": {
"fileKey": "c6e0dcde-7533-4058-81fb-ea2a26677f85",
"fileUrl": "<fileUrl>"
}
执行任务
文件上传完成后,通过任务ID调用此接口处理文件。
请求方式
- 请求方式:GET
- 参数传递方式:Query
请求参数
参数 | 数据类型 | 描述 | 必需 |
---|---|---|---|
taskId | String | 任务ID | 是 |
language | Integer | 界面错误提示语言(1、英文,2、中文) | 否 |
请求地址
https://api-server.compdf.com/server/v1/execute/start?taskId=<taskId>&language=<language>
返回参数
参数 | 数据类型 | 描述 |
---|---|---|
taskId | String | 任务ID |
"code": "200",
"msg": "success",
"data": {
"taskId": "135e8570-6377-4660-94d2-867952796f2c"
}
###下载文件
根据每个文件的文件关键获取相应结果文件的下载链接。
请求方法
- 请求方法:Get
- 参数传输方法:Query
请求参数
参数 | 数据类型 | 描述 | 必需 |
---|---|---|---|
fileKey | String | 文件唯一标识 | 是 |
language | Integer | 接口错误提示语言(1,英语,2,中文) | 否 |
请求地址
https://api-server.compdf.com/server/v1/file/fileInfo?fileKey={fileKey}&language=<language>
返回参数
参数 | 数据类型 | 描述 |
---|---|---|
fileKey | String | 文件唯一标识 |
taskId | String | 任务ID |
fileName | String | 原始文件名 |
downFileName | String | 下载文件名 |
fileUrl | String | 原始文件地址 |
downloadUrl | String | 结果下载地址 |
sourceType | String | 源文件格式 |
targetType | String | 目标文件格式 |
fileSize | Long | 文件大小 |
convertSize | Long | 转换成功大小 |
convertTime | Long | 转换时间 |
status | String | 文件转换状态 |
failureCode | String | 失败原因代码 |
failureReason | String | 失败原因 |
fileParameter | String | 文件处理参数 |
"code": "200",
"msg": "success",
"data": {
"fileKey": "ba13a2a8-1278-43d4-a9a6-7ecc28a0804f",
"taskId": "f416dbcf-0c10-4f93-ab9e-a835c1f5dba1",
"fileName": "test.pdf",
"downFileName": "test.docx",
"fileUrl": "<fileUrl>",
"downloadUrl": "<downloadUrl>",
"sourceType": "pdf",
"targetType": "docx",
"fileSize": 24475,
"convertSize": 6922,
"convertTime": 8,
"status": "<status>",
"failureCode": "",
"failureReason": "",
"fileParameter": "{ \"pageOptions\": \"3\"}"
}
注意:
status
:文件转换状态
状态 | 描述 |
---|---|
created | 文件上传成功 |
processing | 文件转换正在进行中 |
success | 文件转换成功 |
failed | 文件转换失败 |
overdue | 文件保存已过期,文件删除 |
获取任务信息
根据任务ID请求任务状态和文件相关元数据。
请求方法
- 请求方法:GET
- 参数传递方法:Query
请求参数
参数 | 数据类型 | 说明 | 必填项 |
---|---|---|---|
taskId | String | 任务id | 是 |
language | Integer | 接口错误提示语言(1,英文,2,中文) | 否 |
请求地址
https://api-server.compdf.com/server/v1/task/taskInfo?taskId={taskId}&language=<language>
返回参数
参数 | 数据类型 | 说明 |
---|---|---|
taskId | String | 任务id |
taskFileNum | Integer | 任务文件数 |
taskSuccessNum | String | 成功次数 |
taskFailNum | String | 失败次数 |
taskStatus | String | 任务状态 |
assetTypeId | String | 使用资产类型 |
taskCost | String | 任务成本 |
taskTime | Long | 任务时长 |
sourceType | Long | 源文件格式 |
targetType | Long | 目标文件格式 |
fileInfoDTOList | List | 任务文件信息 |
"code": "200",
"msg": "success",
"data": {
"taskId": "f416dbcf-0c10-4f93-ab9e-a835c1f5dba1",
"taskFileNum": 1,
"taskSuccessNum": 1,
"taskFailNum": 0,
"taskStatus": "TaskFinish",
"assetTypeId": 0,
"taskCost": 1,
"taskTime": 1,
"sourceType": "pdf",
"targetType": "docx",
"fileInfoDTOList": [
{
"fileKey": "ba13a2a8-1278-43d4-a9a6-7ecc28a0804f",
"taskId": "f416dbcf-0c10-4f93-ab9e-a835c1f5dba1",
"fileName": "test.pdf",
"downFileName": "test.docx",
"fileUrl": "<fileUrl>",
"downloadUrl": "<downloadUrl>",
"sourceType": "pdf",
"targetType": "docx",
"fileSize": 24475,
"convertSize": 6922,
"convertTime": 8,
"status": "<status>",
"failureCode": "",
"failureReason": "",
"fileParameter": "{ \"pageOptions\": \"3\"}"
}
]
}
注意:
taskStatus
:任务处理状态
状态 | 描述 |
---|---|
TaskStart | 任务创建成功 |
TaskWaiting | 等待处理的任务 |
TaskProcessing | 任务正在处理中 |
TaskFinish | 任务处理完成 |
TaskOverdue | 等待处理的任务超时 |
获取资产详情
获取当前用户剩余资产
请求方式
- 请求方式:GET
- 参数传递方式:Query
请求地址https://api-server.compdf.com/server/v1/asset/info
返回参数
返回参数 | 数据类型 | 说明 |
---|---|---|
tenantAsset | Array | 资产信息 |
assetTypeName | String | 资产类型 |
asset | Integer | 资产余额 |
withholdingAsset | Integer | 预扣资产总额 |
"code": "200",
"msg": "success",
"data": {
"tenantAsset": [
{
"assetTypeName": "SUBSCRIPTIONS",
"asset": 12,
"withholdingAsset": 0
},
{
"assetTypeName": "PACKAGES",
"asset": 1,
"withholdingAsset": 0
}
]
}
获取任务列表
请求当前用户文件传输任务列表。
请求方法
- 请求方法:GET
- 参数传递方式:Query
请求参数
page:Pagination
- 当前页数,非必填,不填默认为1。size:Pagination
- 每页显示项数,非必填,不填默认为10。
参数 | 数据类型 | 说明 | 必填项 |
---|---|---|---|
page | Long | 当前页数 | 否(不填默认为1) |
size | Long | 页数 | 否(不填默认为10) |
请求地址
https://api-server.compdf.com/server/v1/task/list
返回参数
参数 | 数据类型 | 说明 |
---|---|---|
createdBy | String | 创始人 |
updatedBy | String | 更新者 |
creationTime | LocalDateTime | 创建时间 |
updateTime | LocalDateTime | 更新时间 |
id | Long | 任务主键 id |
taskId | String | 任务 id |
taskUrl | taskUrl | 任务原始文件夹 |
taskLoadUrl | String | 任务转换文件夹 |
taskFileNum | Integer | 任务文件数 |
taskSuccessNum | Integer | 成功次数 |
taskFailNum | Integer | 失败次数 |
taskStatus | String | 任务状态 |
assetTypeId | Integer | 使用资产类型 |
taskCost | Integer | 任务成本 |
taskTime | Long | 任务持续时间 |
callbackUrl | String | 回调地址 |
server | String | 服务器地址 |
sourceType | String | 源文件格式 |
targetType | String | 目标文件格式 |
tenantId | Long | 租户 ID |
{
"records": [
{
"createdBy": null,
"updatedBy": null,
"creationTime": "2022-08-31 15:06:20",
"updateTime": "2022-08-31 15:14:44",
"id": 771751854513061888,
"taskId": "a300c232-0a2d-4e3c-95f2-cfb4604b2018",
"taskUrl": "",
"taskLoadUrl": "",
"taskFileNum": 3,
"taskSuccessNum": 0,
"taskFailNum": 0,
"taskStatus": "TaskFinish",
"assetTypeId": 0,
"taskCost": 3,
"taskTime": 0,
"callbackUrl": "",
"server": "",
"sourceType": "pdf",
"targetType": "docx",
"tenantId": 1
},
{
"createdBy": null,
"updatedBy": null,
"creationTime": "2022-08-31 15:25:24",
"updateTime": "2022-08-31 15:26:17",
"id": 771756653954465793,
"taskId": "e74d60a6-fbd3-4d7d-9efa-0dc70297ee0b",
"taskUrl": "",
"taskLoadUrl": "",
"taskFileNum": 3,
"taskSuccessNum": 3,
"taskFailNum": 0,
"taskStatus": "TaskFinish",
"assetTypeId": 0,
"taskCost": 3,
"taskTime": 3,
"callbackUrl": "",
"server": "",
"sourceType": "pdf",
"targetType": "docx",
"tenantId": 1
}
],
"total": 528,
"size": 2,
"current": 1,
"orders": [],
"optimizeCountSql": true,
"searchCount": true,
"countId": null,
"maxLimit": null,
"pages": 264
}