360 Secure SkillHub
360 安全技能中心

百度文档解析vlm-parser

通过百度智能云 PaddleOCR-VL 多模态接口解析 PDF、Word、PPT、图片等文档,输出 Markdown 与 JSON 解析结果,含版面类型、表格、公式、图表、印章、行坐标等结构化信息,采用异步提交加轮询方式,需要 API Key 与 Secret Key。

maglanyulan
maglanyulan
热度 58.91
最近更新 2026-09-17 19:19:19
分类:效率依赖:第三方 API / 代码执行 / 读写文件应用场景:数据处理 / 文件转换 / API 集成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add baidu-doc-vlm-parser
Metadata
name
baidu-doc-vlm-parser 百度文档解析(PaddleOCR-VL)
description
调用百度PaddleOCR-VL大模型API解析文档。基于PaddleOCR-VL-1.6多模态大模型,支持PDF、Word、PPT、图片等格式,精准识别印刷文本、手写文本、表格、公式、图表、印章等复杂元素,支持100+种语言,可处理不规则布局和长文档跨页解析。触发词:文档解析、VLM解析、大模型OCR、PaddleOCR、多模态文档、手写识别、公式识别、复杂版面。
license
MIT

百度文档解析(PaddleOCR-VL)Skill

基于 PaddleOCR-VL-1.6 多模态大模型,提供开箱即用的文档智能解析能力。

功能概述

PaddleOCR-VL-1.6-0.9B 是多模态文档解析领域的 SOTA 方案,具备:

  • 全要素精准解析:高效识别印刷文本、手写文本、表格、公式、图表、印章等复杂文档元素
  • 智能阅读顺序:基于人类阅读习惯推断内容排列顺序,将零散页面信息转化为有序带标签的结构化元素序列
  • 行级别坐标:支持精准的行级别坐标输出
  • 100+ 种语言:覆盖中、英、日、韩、拉丁文等全球化多语种文档
  • 不规则布局定位:攻克复杂版面解析难点
  • 长文档跨页解析:支持跨页表格合并等企业级场景
  • 直接 Markdown/JSON 输出:无需额外处理

与文档解析(标准版)的区别

特性 PaddleOCR-VL(本 Skill) 标准版(pipeline-parser)
底层模型 多模态大模型 VLM 传统 Pipeline
语言支持 100+ 种 20+ 种
公式/图片识别 默认开启,无需配置 需手动开启参数
语种识别 自动识别,无需指定 需指定 language_type
版面类型 24 种细粒度类型 8 种基础类型
行坐标 支持 不支持
多边形坐标 支持(polygon) 仅矩形框
文件大小 版式 ≤100M,PDF ≤500 页 PDF ≤300M,≤2000 页

适用场景

当用户需要:

  • 解析复杂版面文档(多栏、不规则布局)
  • 精准识别手写文本、数学公式、图表
  • 处理多语种混合文档
  • 获取行级别坐标信息
  • 长文档跨页表格合并
  • 免配置自动识别文档内容

免费资源领取和计费说明

百度智能文档分析平台 领取免费测试资源

百度智能文档分析平台计费与购买方式

用户类型 免费额度
个人实名认证用户 200 页
企业实名认证用户 1000 页

API 配置

额度获取方式

您可通过百度智能云平台获取免费额度与购买调用资源

环境变量(必须)

使用前请设置以下环境变量:

export BAIDU_DOC_AI_API_KEY="your_api_key"
export BAIDU_DOC_AI_SECRET_KEY="your_secret_key"

认证方式

通过 API Key 和 Secret Key 获取 access_token,有效期 30 天。所有接口请求需以 URL 参数 access_token 携带。

支持格式

版式文档:pdf, jpg, jpeg, png, bmp, tif, tiff, ofd(图片最长边不大于 8192px)

流式文档:doc, docx, txt, wps, ppt, pptx

支持语言

100+ 种语言,包括中文、英文、日文、韩文、拉丁文等,无需手动指定,大模型自动识别。

使用方式

python3 scripts/baidu_doc_vlm_parser.py --file_data <文件的base64编码> --file_name "test.pdf"
python3 scripts/baidu_doc_vlm_parser.py --file_url <文件公网URL> --file_name "test.pdf"

API 接口

文档解析(PaddleOCR-VL)API 服务为异步接口,需要先调用提交请求接口获取 task_id,然后调用获取结果接口进行结果轮询。

提交请求接口

  • HTTP 方法:POST
  • 请求 URL:https://aip.baidubce.com/rest/2.0/brain/online/v2/paddle-vl-parser/task?access_token={token}
  • Content-Type:application/x-www-form-urlencoded

Python 示例

import requests, os, base64

def create_task(url, file_path, file_url):
    with open(file_path, "rb") as f:
        file_data = base64.b64encode(f.read())
    data = {
        "file_data": file_data,
        "file_url": file_url,
        "file_name": os.path.basename(file_path)
    }
    headers = {'Content-Type': 'application/x-www-form-urlencoded'}
    return requests.post(url, headers=headers, data=data)

request_host = "https://aip.baidubce.com/rest/2.0/brain/online/v2/paddle-vl-parser/task?access_token={token}"
response = create_task(request_host, "./test.pdf", "")
print(response.json())

成功响应示例:

{
  "error_code": 0,
  "error_msg": "",
  "log_id": "10138598131137362685273505665433",
  "result": { "task_id": "task-3zy9Bg8CHt1M4pPOcX2q5bg28j26801S" }
}

获取结果接口

  • HTTP 方法:POST
  • 请求 URL:https://aip.baidubce.com/rest/2.0/brain/online/v2/paddle-vl-parser/task/query?access_token={token}
  • Content-Type:application/x-www-form-urlencoded
  • 请求参数:task_id(必填,提交请求时返回的 task_id)

Python 示例

import requests

def query_task(url, task_id):
    data = {"task_id": task_id}
    headers = {'Content-Type': 'application/x-www-form-urlencoded'}
    return requests.post(url, headers=headers, data=data)

request_host = "https://aip.baidubce.com/rest/2.0/brain/online/v2/paddle-vl-parser/task/query?access_token={access_token}"
resp = query_task(request_host, "task_id")
print(resp.json())

请求参数

文件参数(必选,二选一)

参数 必选 类型 说明
file_data 和 file_url 二选一 string 文件 Base64 编码数据。版式文档:pdf, jpg, jpeg, png, bmp, tif, tiff, ofd(图片最长边不大于 8192px);流式文档:doc, docx, txt, wps, ppt, pptx。图片不超过 10M,版式文档不超过 100M,流式文档不超过 50M,PDF 最大 500 页。超过 50M 须使用 file_url。优先级:file_data > file_url
file_url 和 file_data 二选一 string 文件数据 URL,长度不超过 1024 字节。PDF 文档不超过 100M,最大 500 页。请注意关闭 URL 防盗链
file_name 是 string 文件名,请保证文件名后缀正确,例如 "1.pdf"

功能参数

参数 必选 类型 说明
recognize_formula - bool 无需开启,大模型默认对版式类型文档进行公式识别
analysis_chart 否 bool 是否对统计图表进行解析
parse_image_layout - bool 无需开启,大模型默认解析文档中的所有图片
language_type - string 无需开启,大模型默认识别语种类型
merge_tables 否 bool 是否将跨页表格合并输出,开启后 tables 内返回跨页表格合并标识
relevel_titles 否 bool 是否对段落标题(paragraph_title)进行分级,开启后在 sub_type 中输出标题级别
recognize_seal 否 bool 是否识别印章内容
return_span_boxes 否 bool 是否返回行坐标

返回结构

提交请求返回

字段 类型 说明
log_id uint64 唯一的 log id,用于问题定位
error_code int 错误码
error_msg string 错误描述信息
result.task_id string 该请求生成的 task_id

获取结果返回

字段 类型 说明
result.task_id string 任务 ID
result.status string 任务状态:pending(排队中)、processing(运行中)、success(成功)、failed(失败)
result.task_error string 解析报错信息(任务失败、额度耗尽等)
result.markdown_url string Markdown 格式结果链接,有效期 30 天
result.parse_result_url string JSON 格式结果 BOS 链接,有效期 30 天

解析结果 JSON 结构(parse_result_url)

顶层字段:file_name、file_id、pages[]。

页面对象(pages[])

字段 类型 说明
page_id string 页码 ID
page_num int 页码数
text string 当前页所有纯文字内容
layouts list 版式分析结果
tables list 表格解析结果
images list 图片解析结果
meta dict 页面元信息(page_width, page_height)

版面元素(layouts[])

字段 类型 说明
layout_id string 唯一标志,格式 "xxxxx-layout-{global_layout_index}"
text string 文本内容(type 为 table/image 时为空)
position list 位置 [x, y, w, h]
polygon list 顶点坐标列表,可围合成多边形
span_boxes list 行信息(开启 return_span_boxes 后生效),含 text 和 location
type string 版面元素类型(见下表)
sub_type string 标题层级(开启 relevel_titles 后生效)

版面类型(type)— 24 种细粒度类型:

类型 说明 类型 说明
text 文本 table 表格
image 图片 chart 图表
doc_title 文档标题 paragraph_title 段落标题
figure_title 图片标题 display_formula 公式
inline_formula 行内公式 formula_number 公式编号
header 页眉 footer 页脚
header_image 页眉图片 footer_image 页脚图片
number 页码 abstract 摘要
algorithm 算法 aside_text 旁注文本
content 目录 footnote 脚注
reference 参考文献 reference_content 参考文献内容
seal 印章 vertical_text 竖排文本

表格对象(tables[])

字段 类型 说明
layout_id string 对应 layouts 中 type 为 table 的 layout ID
markdown string 表格 Markdown 形式
position list 边框数据 [x, y, w, h]
cells list 单元格内版面信息(扁平列表)
matrix list 2D 单元格索引矩阵,元素为 cells 数组下标;相同下标重复出现表示合并单元格
merge_table string 合并标识(开启 merge_tables 后):begin(开始)、end(结束)

图片对象(images[])

字段 类型 说明
layout_id string 对应 layouts 中 type 为 image 的 layout ID
position list 边框数据 [x, y, w, h]
data_url string 图片存储链接
image_description string 统计图表内容解析(JSON 字符串,需 json.loads 解析)

API 特性

异步处理流程

  1. 调用提交请求接口 → 获取 task_id
  2. 通过 task_id 调用获取结果接口轮询

轮询建议

  • 提交请求后 5~10 秒开始轮询
  • 轮询间隔:5 秒
  • 最大轮询时间:300 秒

QPS 限制

  • 提交请求接口:2 QPS
  • 获取结果接口:5 QPS

文件限制

限制项 说明
图片大小 ≤ 10M,最长边 ≤ 8192px
版式文档大小 ≤ 100M
流式文档大小 ≤ 50M
PDF 页数 ≤ 500 页
URL 长度 ≤ 1024 字节
优先级 file_data > file_url

错误处理

常见错误码示例:

错误码 说明
282003 missing parameters(缺少必要参数)
282007 task not exist, please check task id(任务不存在)

完整错误码参见 references/error_codes.md 及 OCR 错误码文档。

失败响应示例:

{
  "log_id": "13665091038742503867108513247608",
  "error_code": "282007",
  "error_msg": "task not exist, please check task id",
  "result": "null"
}

产品计费与购买方式

数据来源:百度智能云 OCR 计费说明

免费额度

登录文字识别控制台自动领取:

用户类型 免费额度
个人实名认证用户 200 页
企业实名认证用户 1000 页

新人优惠

限时活动价 9 元/千页,面向新用户。

预付费资源包

有效期 1 年,到期未抵扣额度作废。购买后 7 天内若未产生调用可自助退订。

规格(页) 原价(元) 现价(元)
5,000 425 230
10,000 800 440
50,000 3,750 2,000
100,000 7,700 3,800
200,000 14,300 7,200
500,000 33,000 17,000
1,000,000 54,000 32,000
2,000,000(新增) — 62,000
5,000,000 210,000 150,000

按量后付费

  • 不限月调用量
  • 原价 0.09 元/页,现价 0.05 元/页
  • 仅成功调用计费,调用失败不计费

购买入口

  • 购买资源包 / 开通后付费:均通过百度智能云控制台 文字识别产品页面进行
  • 退订:资源包购买后 7 天内未产生调用可前往"退订管理页面"自助退订

脚本

  • scripts/baidu_doc_vlm_parser.py:文档解析主程序,支持命令行快速调用

参考文档

  • references/parameters.md:完整 API 参数与返回结构详解
  • references/error_codes.md:完整错误码参考
  • references/apikey-fetch.md:API Key 配置指南

相关链接