资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

文档格式转换

接口描述

原图文转换器API版产品,现已更名为「文档格式转换」。

可识别图片/PDF文档版面布局,提取文字内容,并转换为保留原文档版式的Word、Excel文档,方便二次编辑和复制,可支持含表格、印章、水印、手写等内容的文档。满足文档格式转换、企业档案电子化等信息管理需求。如需直接使用在线工具,可到智能文档分析平台-文档格式转换使用。在线工具和API版的额度为共享互通

在线工具「智能文档分析平台-文档格式转换」已支持「PDF -> 双层PDF/双层OFD」、「OFD -> 双层OFD/Word/Excel」 转换类型,API版开发中,敬请期待。

文档格式转换API版为异步接口,需要先调用提交请求接口获取 task_id,然后调用获取结果接口进行结果轮询,建议提交请求后 5~10 秒轮询。

提交请求接口

在线调试

您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。

请求说明

请求示例

HTTP 方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/ocr/v1/doc_convert/request

URL参数:

参数
access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取

Header如下:

参数
Content-Type application/x-www-form-urlencoded

Body中放置请求参数,参数详情如下:

请求参数

注意:要求使用 JSON 格式的结构体来描述一个请求的具体内容。

参数 是否必选 类型 说明
image 和 url/pdf_file 三选一 string 图像数据,base64编码后进行urlencode,需去掉编码头(data:image/jpeg;base64, )
要求base64编码和urlencode后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式
优先级: image > url > pdf_file,当image字段存在时,url、pdf_file字段失效
url 和 image/pdf_file 三选一 string 图片完整URL,URL长度不超过1024字节,URL对应的图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式
优先级: image > url > pdf_file,当image字段存在时url字段失效
请注意关闭URL防盗链
pdf_file 和 image/url 三选一 string PDF文件,base64编码后进行urlencode,要求base64编码和urlencode后大小不不超过10M
优先级: image > url > pdf_file,当image、url字段存在时,pdf_file字段失效
pdf_file_num string 需要识别的PDF文件的对应页码,当 pdf_file 参数有效时,识别传入页码的对应页面内容;若不传入,默认识别文件所有页,页码从1开始

请求代码示例

提示一:使用示例代码前,请记得替换其中的示例Token、文档地址或Base64信息。

提示二:目前仅提供Python语言,如需其他语言示例可参考 示例代码中心

import base64
import requests

'''
文档格式转换-提交请求
'''


request_host = "https://aip.baidubce.com/rest/2.0/ocr/v1/doc_convert/request"
# 二进制方式打开图片文件
f = open('[本地文件]', 'rb')
img = base64.b64encode(f.read())

params = {"image": img}
access_token = '[调用鉴权接口获取的token]'
request_url = request_host + "?access_token=" + access_token
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, headers=headers, data=params)
if response:
	print(response.json())

返回说明

返回参数

字段 类型 说明
success bool 当前请求状态; true 表示请求成功,false表示请求异常
log_id uint64 唯一的log id,用于问题定位
result dict 返回的结果列表
+ task_id string 该请求生成的task_id,后续使用该task_id获取识别结果
code int 成功状态码
message string 详情

返回示例

成功返回示例:

{
    "success":true,
    "log_id": 12345,
    "result":{
        "task_id":"task-xxxxxxx",
    },
    "code":1001,
    "message": "Create task successfully!"
}

失败返回示例(详细的错误码说明见API文档-错误码):

{
    "success":false,
    "log_id": 12345,
    "error_code": 216401,
    "error_msg": "Create task failed!"
}

获取结果接口

在线调试

您可以在 示例代码中心 中调试该接口,可进行签名验证、查看在线调用的请求内容和返回结果、示例代码的自动生成。

请求说明

请求示例

HTTP 方法:POST

请求URL: https://aip.baidubce.com/rest/2.0/ocr/v1/doc_convert/get_request_result

URL参数:

参数
access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取

Header如下:

参数
Content-Type application/x-www-form-urlencoded

Body中放置请求参数,参数详情如下:

请求参数

参数 是否必选 类型 说明
task_id string 发送提交请求时返回的task_id

请求代码示例

提示一:使用示例代码前,请记得替换其中的示例Token、task_id。

提示二:目前仅提供Python语言,如需其他语言示例可参考 示例代码中心

import requests

'''
文档格式转换-获取结果
'''


request_host = "https://aip.baidubce.com/rest/2.0/ocr/v1/doc_convert/get_request_result"
params = {"task_id": "[调用提交请求接口获取的task_id]"}

access_token = '[调用鉴权接口获取的token]'
request_url = request_host + "?access_token=" + access_token
headers = {'Content-Type': 'application/x-www-form-urlencoded'}
response = requests.post(request_url, headers=headers, data=params)
if response:
	print(response.json())

返回说明

返回参数

字段 类型 说明
success bool 当前请求状态; true表示请求成功,false表示请求异常
log_id uint64 唯一的log id,用于问题定位
result dict 返回的结果列表
+ task_id string 该文件对应请求的task_id
+ ret_code int 识别状态,1:任务未开始;2:进行中;3:已完成
+ ret_msg string 识别状态信息:任务未开始;进行中;已完成
+ percent int 文档转换进度(百分比)
+ result_data dict 识别结果字符串,返回word、excel的文件分别的下载地址
+ +word string 还原后的word文件的下载地址,文件识别失败时返回""
+ +excel string 还原后的Excel文件的下载地址,若文档中没有表格则返回""
+ create_time datetime 任务创建时间
+ start_time datetime 任务开始时间
+ end_time datetime 任务结束时间
code int 成功状态码
message string 详情

返回示例

成功返回示例:

{
    "success":true,
    "log_id": "xxxxxx",
    "result":{
        "task_id":"task-xxxxxxx",
        "ret_code": 3,
        "ret_msg": "已完成",
        "percent": 100,
        "result_data": {
            "word": "word_download_url",
            "excel": "",
        },
        "create_time": "2023-01-17 11:06:12",
        "start_time": "2023-01-17 11:06:13",
        "end_time": "2023-01-17 11:06:15"
    },
    "code":1001,
    "message": "Query task successfully!""
}

若查询的task_id不存在, 返回result为{}。 请求失败响应体示例如下:

{
    "code":1001,

    "log_id":1635891796603052032,

    "message":"Query task successfully!",

    "result":{},

    "success":true
}
上一篇
快速入门
下一篇
合同审查