Skip to content

请求说明

注意事项

  • 接口返回的文件下载链接一般会在次日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

返回参数

参数数据类型说明
sourceTypeNameString源文件格式
targetTypeNameString目标文件格式
executeTypeUrlString执行任务的类型
java
"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参数

参数数据类型说明必填
executeTypeUrlString执行任务类型

请求参数

参数数据类型说明必填
languageInteger接口错误提示语言(1、英文、2、中文)

请求地址

https://api-server.compdf.com/server/v1/task/{executeTypeUrl}

返回参数

参数数据类型说明
taskIdString任务id
java
"code": "200",
"msg": "success",
"data": {
  "taskId": "2da9dc86-5f41-4991-b9da-bc8434f64cc5"
}

上传文件

上传原始文件,并将文件与任务ID绑定,field参数用于传递JSON字符串,设置文件的处理参数,每个文件会自动生成一个唯一的filekey。请注意,一个任务ID最多可以上传5个文件,任务启动后将无法再上传任何文件。

请求方式

  • 请求方式:POST
  • 参数传递方式:Body(form-data)

请求参数

参数数据类型说明必填项
fileFile上传的文件
taskIdString任务id
passwordString密码
parameterString文件处理参数
imageFile水印图片(添加图片水印时需添加此参数)
languageInteger界面错误提示语言(1、英文,2、中文)

仅对当前支持的函数设置处理参数,若不设置参数则使用默认值。不同函数类型对应的JSON格式及字段解释请参见工具指南。

请求地址

https://api-server.compdf.com/server/v1/file/upload

返回参数

参数数据类型描述
fileKeyString文件唯一标识
fileUrlString文件下载链接
java
"code": "200",
"msg": "success",
"data": {
    "fileKey": "c6e0dcde-7533-4058-81fb-ea2a26677f85",
    "fileUrl": "<fileUrl>"
}

执行任务

文件上传完成后,通过任务ID调用此接口处理文件。

请求方式

  • 请求方式:GET
  • 参数传递方式:Query

请求参数

参数数据类型描述必需
taskIdString任务ID
languageInteger界面错误提示语言(1、英文,2、中文)

请求地址

https://api-server.compdf.com/server/v1/execute/start?taskId=<taskId>&language=<language>

返回参数

参数数据类型描述
taskIdString任务ID
java
"code": "200",
"msg": "success",
"data": {
    "taskId": "135e8570-6377-4660-94d2-867952796f2c"
}

###下载文件

根据每个文件的文件关键获取相应结果文件的下载链接。

请求方法

  • 请求方法:Get
  • 参数传输方法:Query

请求参数

参数数据类型描述必需
fileKeyString文件唯一标识
languageInteger接口错误提示语言(1,英语,2,中文)

请求地址

https://api-server.compdf.com/server/v1/file/fileInfo?fileKey={fileKey}&language=<language>

返回参数

参数数据类型描述
fileKeyString文件唯一标识
taskIdString任务ID
fileNameString原始文件名
downFileNameString下载文件名
fileUrlString原始文件地址
downloadUrlString结果下载地址
sourceTypeString源文件格式
targetTypeString目标文件格式
fileSizeLong文件大小
convertSizeLong转换成功大小
convertTimeLong转换时间
statusString文件转换状态
failureCodeString失败原因代码
failureReasonString失败原因
fileParameterString文件处理参数
java
"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

请求参数

参数数据类型说明必填项
taskIdString任务id
languageInteger接口错误提示语言(1,英文,2,中文)

请求地址

https://api-server.compdf.com/server/v1/task/taskInfo?taskId={taskId}&language=<language>

返回参数

参数数据类型说明
taskIdString任务id
taskFileNumInteger任务文件数
taskSuccessNumString成功次数
taskFailNumString失败次数
taskStatusString任务状态
assetTypeIdString使用资产类型
taskCostString任务成本
taskTimeLong任务时长
sourceTypeLong源文件格式
targetTypeLong目标文件格式
fileInfoDTOListList任务文件信息
java
"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

返回参数

返回参数数据类型说明
tenantAssetArray资产信息
assetTypeNameString资产类型
assetInteger资产余额
withholdingAssetInteger预扣资产总额
java
"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。
参数数据类型说明必填项
pageLong当前页数否(不填默认为1)
sizeLong页数否(不填默认为10)

请求地址

https://api-server.compdf.com/server/v1/task/list

返回参数

参数数据类型说明
createdByString创始人
updatedByString更新者
creationTimeLocalDateTime创建时间
updateTimeLocalDateTime更新时间
idLong任务主键 id
taskIdString任务 id
taskUrltaskUrl任务原始文件夹
taskLoadUrlString任务转换文件夹
taskFileNumInteger任务文件数
taskSuccessNumInteger成功次数
taskFailNumInteger失败次数
taskStatusString任务状态
assetTypeIdInteger使用资产类型
taskCostInteger任务成本
taskTimeLong任务持续时间
callbackUrlString回调地址
serverString服务器地址
sourceTypeString源文件格式
targetTypeString目标文件格式
tenantIdLong租户 ID
java
{
    "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
}