语言 / Language
中文首页 特性 安装 完整文档 关于 GitHub

📋 PaddleOCR 核心速览

  • PaddleOCR 是全球领先的开源 OCR 工具包,PaddleOCR-VL-1.6 模型在 OmniDocBench v1.6 权威评测中斩获 96.33% SOTA 准确率。
  • 只需执行 pip install paddlepaddle paddleocr 即可在 Windows、macOS、Linux (CPU / GPU) 上完成部署。
  • 三大核心解析流水线:PP-OCRv6(快速文本字符检测与识别)、PP-StructureV3(PDF/复杂表格解析与版面分析)、PaddleOCR-VL(端到端多模态视觉语言文档大模型)。
  • 原生支持 100+ 种语言;PP-OCRv6 将中文、英文、日文以及 46 种拉丁语系整合入统一模型架构,无需频繁切换语种权重。
  • 原生适配 Dify、RAGFlow、Cherry Studio,并支持标准 Model Context Protocol (MCP) 供 AI 智能体直接调用。
入门

PaddleOCR 概览与核心能力

PaddleOCR 是由百度飞桨 (PaddlePaddle) 团队开发的高性能、超轻量开源 OCR 与文档 AI 引擎。其设计目标是提供兼顾极致准确率、超高运行速度与极小内存占用的产业级文档解析工具。

三大核心流水线

PP-OCRv6

文本检测与字符识别流水线

适用于自然场景图片、扫描单据、屏幕截图、街景招牌以及各类文档。提供 Tiny (1.5M)、Small (7.7M) 与 Medium (34.5M) 三档硬件优化模型。

PP-StructureV3

智能版面分析与表格结构化恢复

专注于复杂排版 PDF 与合同发票。自动识别表格边界坐标、还原 HTML/Markdown 表格代码,并识别公式与公章。

PaddleOCR-VL

端到端视觉语言大模型 (0.9B)

多模态大模型架构。直接将整页复杂文档图转化为高精度的 Markdown,在多栏排版与跨页表格处理上表现卓越。

安装指南

环境配置与安装 (分步指南)

PaddleOCR 安装极其简便。请确保您的机器满足以下基础环境:

Python 版本建议: 推荐使用 Python 3.8 至 3.12。目前 Python 3.13 官方 Wheel 包正在适配中。

步骤 1:安装 PaddlePaddle 深度学习底座

根据您的硬件环境选择 CPU 版本或 GPU (CUDA) 版本:

CPU 环境(普通电脑 / 纯 CPU 服务器 / Mac M系列芯片)
pip install paddlepaddle
GPU 环境(NVIDIA 显卡,默认适配 CUDA 11.8 / 12.x)
pip install paddlepaddle-gpu

步骤 2:安装 PaddleOCR 工具包

安装最新版 PaddleOCR
pip install paddleocr
快速上手

三行代码快速验证

安装完成后,只需在 Python 中编写三行代码即可运行文本识别:

Python 快速测试
from paddleocr import PaddleOCR

# 初始化中英文识别模型并开启方向校正
ocr = PaddleOCR(use_angle_cls=True, lang='ch')

# 预测图像并输出文本
result = ocr.ocr('your_test_image.jpg', cls=True)

for line in result[0]:
    print(line[1][0])  # 打印识别出的文字
核心模型

PP-OCRv6 核心技术解析

PP-OCRv6 是 PaddleOCR v3.7.0 的旗舰 OCR 引擎。相比上一代 PP-OCRv5,它带来了革命性的提升:

模型档位 参数量 建议运行平台 CPU 单张推理耗时 准确率提升
PP-OCRv6_tiny 1.5M 树莓派 / 移动端 / 纯 CPU ~12ms (OpenVINO) +3.8%
PP-OCRv6_small 7.7M 常规服务器 / 开发者本地 ~28ms +4.6%
PP-OCRv6_medium 34.5M NVIDIA GPU / 密集型生产集群 ~55ms (GPU 下 <4ms) +5.1%
文档解析

PP-StructureV3 复杂表格与版面分析

PP-StructureV3 专为解决合同、财报、研报等结构复杂文档而生。它不仅提取文本,还能精准还原版面层级与表格数据。

表格提取与 HTML/Markdown 转换
from paddleocr import PPStructureV3

engine = PPStructureV3(show_log=True, lang='ch')
result = engine('contract.pdf')

for region in result:
    if region['type'] == 'table':
        print("提取到的 HTML 表格:")
        print(region['res']['html'])
前端与跨平台

JavaScript, Node.js 与 WebAssembly 纯前端运行

无需 Python 环境,直接在网页浏览器 (WebAssembly/WebGPU) 或 Node.js 后端运行 PaddleOCR:

npm 安装
npm install @paddlejs-models/ocr onnxruntime-web
浏览器 JavaScript 示例
import * as ocr from '@paddlejs-models/ocr';

// 初始化并自动缓存模型
await ocr.init();

// 传入 HTML <img> 或 Canvas 元素进行识别
const imgElement = document.getElementById('scanned-doc');
const result = await ocr.recognize(imgElement);

console.log('识别文本:', result.text);
console.log('坐标框:', result.points);
排错手册

常见报错与故障排查字典 (Error Dictionary)

1. ImportError: cannot import name 'draw_ocr' from 'paddleocr'

原因: PaddleOCR 新版将可视化工具拆分至 tools 依赖中。
解决方法: 执行 pip install "paddleocr[tools]",并从 from paddleocr.tools.infer.utility import draw_ocr 导入。

2. TypeError: predict() got an unexpected keyword argument 'cls'

原因: 误将 cls=True 传给 .predict() 而非 .ocr()
解决方法: 使用 ocr.ocr('img.jpg', cls=True) 或在类初始化时设置 use_angle_cls=True

3. convertpirattribute2runtimeattribute (Windows OneDNN 冲突)

原因: Windows 平台下 PIR 编译器与 OneDNN 加速存在属性映射异常。
解决方法: 在导入 paddle 之前添加环境变量:import os; os.environ['FLAGS_enable_pir_api'] = '0'

4. 如何提取文本框四边形坐标与置信度过滤?

result = ocr.ocr('invoice.jpg', cls=True)
for line in result[0]:
    box = line[0]        # 四点坐标 [[x1,y1],[x2,y2],[x3,y3],[x4,y4]]
    text, score = line[1] # 识别文字与置信度分数
    if score >= 0.85:
        print(f"高置信度文字: {text}, 坐标: {box}")

5. Windows 下报错 ImportError: DLL load failed

解决方法: 下载并安装微软官方发布的 Visual C++ 2015–2022 Redistributable (x64)

更新日志

版本更新记录

v3.7.0 (2026年6月发布)

  • 全新发布 PP-OCRv6 旗舰模型,支持 50 种语言统一架构。
  • 推出 PP-StructureV3,大幅优化无线表格与跨页表格识别。
  • 新增 PaddleOCR-VL-1.6 (0.9B 多模态文档解析大模型),在 OmniDocBench v1.6 达到 96.33% 顶级分值。
  • 全面支持 Python 3.12 与 OpenVINO 5.2x 硬件加速。