跳到主要内容

文档预解析

更新时间 2025/02/22 07:19:43

英飞画布服务端支持基于 REST API 提前针对单一文档发起预解析请求,支持的文档类型有 pptwordexcelpdf。 解析成功后,您可以基于解析信息及产物 ID,并通过插入文件元素接口将您的文件直接插入画布内。

英飞业务下,文件解析产物的 ID 统一会使用 fileId 进行标记。

前提条件

  • 已经完成英飞画布应用的创建动作,详见新人指引文档

  • 了解 REST API 请求的认证方式,详见获取 Access Token 文档

  • 提供接收解析结果的回调地址,并能够处理解析结果数据。

    注意:

    • 解析的文档不建议大于 500M,否则会有可能造成解析失败。

请求路径

https://developer.infi.cn/infi/api/v1/files/parseTasks

请求参数

字段
类型
描述
必填
fileUrl
string
文档公开下载地址
fileName
string
文件名
fileType
integer
文件类型,详情见下方说明
callbackUrl
string
解析结果回调地址
extFileId
string
用户自行指定的标记字段,用以区分回调
dpi
integer
文件解析分辨率

fileType 文件类型支持:

1: pdf;2: ppt;3: word; 4: excel; 5: 动态ppt; 6: 音频; 7: 视频; 8: 图片。

请求参数示例

{
"fileUrl": "SAMPLE_PUBLIC_PDF_URL",
"callbackUrl": "SAMPLE_CALLBACK_URL",
"fileName": "SAMPLE.pdf",
"fileType": 1,
"extFileId": "SAMPLE_EXT_FILE_ID",
"dpi": 400
}

请求成功情况

响应的 Http 状态码为 200 时表示请求成功,并会带有异步解析任务的 taskId,您需要存储该 ID, 并于解析结果回调达到时,与回调数据中呈现的 taskId 作比对,进而获取可用于插入画布的文件解析产物 fileId。 请求成功返回数据示例如下:

{
"taskId": "SAMPLE_TASK_ID"
}
  • 请求失败情况
    响应的 Http 状态码不为 200 时表示请求失败,如需更多信息请参考请求错误说明文档

解析结果说明

当英飞服务端完成对于文件的异步解析处理后,会根据您提供的 callbackUrl 地址以 HTTP POST 请求的形式告知解析结果。

解析成功情况

如果文件解析成功,您收到的请求 payload 示例如下:

{
"fileInfo": {
"fileExt": "pdf",
"totalPage": 10,
"coverWidth": 1920,
"coverHeight": 1080
},
"taskId": "TASK_ID_STRING",
"fileId": "FILE_ID_STRING",
"fileType": 1,
"taskStatus": 100
}

解析结果参数说明如下:

  • fileInfo.fileExt:文件扩展名。
  • fileInfo.totalPage:文档页数,对应插入文档元素请求内所需要的 totalPage 参数。在发起请求时, 请务必保证 totalPage 数值小于等于解析出的数值。
  • fileInfo.coverWidth:文档内容分辨率宽度,对应插入文档元素请求内所需要的 size.width 参数。
  • fileInfo.coverHeight:文档内容分辨率高度,对应插入文档元素请求内所需要的 size.height 参数。
  • taskId:文件解析任务的 Id。
  • fileId:解析产物 ID,对应插入文档元素请求内所需要的 fileId 参数。
  • fileType:文档类型数值,对应插入文档元素请求内所需要的 fileType 参数。
  • taskStatus:任务解析状态。100: 成功,101: 失败,102: 解析中。

解析失败情况

如果文件解析失败,您同样会收到 POST 请求,请求 payload 示例如下:

{
"taskId": "FAILED_TASK_ID",
"taskStatus": 101
}