## 项目概述

PaddleOCR 是百度开源的全球领先 OCR 工具包和文档 AI 引擎，旨在将 PDF 文档和图像转换为结构化、可供 LLM 直接使用的数据（JSON/Markdown）。它支持 100+ 语言，提供 PP-OCRv6、PaddleOCR-VL 等系列模型，被 Dify、RAGFlow 等众多项目采用，是构建智能 RAG 和 Agentic 应用的基础工具。

## 核心功能

- **智能文档解析（LLM-Ready）**：提供 SOTA 文档 VLM（PaddleOCR-VL-1.6，0.9B），在 OmniDocBench 上达到 96.3% 准确率，支持文本、公式、表格、印章、图表等元素的识别，输出 Markdown 和 JSON 格式。
- **结构感知转换**：基于 PP-StructureV3，可将复杂 PDF 和图片转换为 Markdown 或 JSON，提供更细粒度的坐标信息（如表格单元格坐标）。
- **通用文本识别（场景 OCR）**：PP-OCRv6 支持 50 种语言（单模型），PP-OCRv5 支持 109 种语言，在自然场景、身份证、街景、工业部件等场景表现出色。
- **开发者生态**：与 Dify、RAGFlow、Pathway、Cherry Studio 等深度集成，支持多种硬件后端（NVIDIA GPU、Intel CPU、昆仑芯 XPU 等），提供一键部署。
- **高性能推理**：支持 TensorRT、OpenVINO、ONNX Runtime 等加速，提供 C++、C#、Java 等多语言部署方案。

## 适用与不适用场景

**适用场景：**

- 文档解析：将 PDF、扫描件、图片转换为 Markdown/JSON，用于 RAG、知识库构建。
- 场景文字识别：识别街景、广告牌、身份证、票据等自然场景中的文字。
- 多语言文档处理：支持中、英、日、韩、阿拉伯语等 100+ 语言。
- 表格、公式、印章、图表等复杂元素的识别与结构化。
- 构建 OCR 训练数据集，用于模型微调。

**不适用场景：**

- 需要实时视频流文字识别的场景（PaddleOCR 主要针对静态图像）。
- 对艺术字体、特殊古文字（如甲骨文）的识别，需要额外训练。
- 需要识别模型不支持的字符时，需更新字典并微调。

## 技术架构与依赖

- **编程语言**：Python（主要），支持 C++、C#、Java 等部署。
- **核心框架**：PaddlePaddle（飞桨）深度学习框架。
- **模型系列**：PP-OCRv6、PP-OCRv5、PaddleOCR-VL、PP-StructureV3、PP-DocTranslation 等。
- **依赖**：PaddlePaddle、OpenCV、Shapely 等。
- **硬件支持**：CPU、GPU（NVIDIA）、XPU（昆仑芯）、NPU 等。

## 安装与快速开始

1. **在线体验**：访问 [PaddleOCR 官网](https://www.paddleocr.com) 使用体验中心和 API。
2. **本地安装**：
   ```bash
   pip install paddleocr
   ```
   或使用 conda：
   ```bash
   conda install -c conda-forge paddleocr
   ```
3. **快速使用**：
   ```python
   from paddleocr import PaddleOCR
   ocr = PaddleOCR(use_angle_cls=True, lang='ch')
   result = ocr.ocr('path/to/image.jpg', cls=True)
   ```

## 典型使用方法

- **文档解析**：使用 PaddleOCR-VL 或 PP-StructureV3 将 PDF/图片转换为 Markdown 或 JSON。
- **场景文字识别**：使用 PP-OCRv6 或 PP-OCRv5 识别自然场景中的文字。
- **表格识别**：使用 PP-StructureV3 或 PP-Chart2Table 模块进行表格结构识别和转换。
- **服务化部署**：使用 Flask、gunicorn 或 PaddleServing 部署为 Web 服务。
- **模型微调**：基于预训练模型，使用自定义数据集进行微调。

## 配置与部署要点

- **模型下载**：可通过环境变量 `PADDLE_PDX_MODEL_SOURCE` 指定下载源（如 BOS），或使用 `model_dir` 指定本地模型路径。
- **GPU 加速**：安装对应 CUDA 版本的 PaddlePaddle，可启用 TensorRT、fp16 等加速。
- **性能优化**：设置 `enable_hpi=True` 启用高性能推理，调整 `batch_size`、`det_limit_side_len` 等参数。
- **服务部署**：支持 Docker、Flask、gunicorn 等方式，可自定义 Docker 镜像和 SDK。
- **多语言支持**：PP-OCRv6 单模型支持 50 种语言，PP-OCRv5 支持 109 种语言。

## 限制、风险与许可证

- **许可证**：Apache-2.0。
- **限制**：
  - 对艺术字体、特殊古文字识别效果有限。
  - 对视频流文字识别需自行抽帧处理。
  - 模型训练需要大量标注数据，特定场景需微调。
- **风险**：
  - 依赖 PaddlePaddle 框架，需注意版本兼容性。
  - 模型下载可能受网络影响，可配置镜像源。

## 官方链接

- GitHub 仓库：<https://github.com/PaddlePaddle/PaddleOCR>
- 官方网站：<https://www.paddleocr.com>
- 文档：<https://www.paddleocr.ai>
- 模型下载：HuggingFace、ModelScope

## 信息来源和分析时间

- 信息来源：GitHub 仓库 README、FAQ 文档、社区贡献文档、数据集文档。
- 分析时间：2026-07-22（基于仓库最新更新）。