# PaddleOCRApi
**Repository Path**: corallite/PaddleOCRApi
## Basic Information
- **Project Name**: PaddleOCRApi
- **Description**: PaddleOCR inference in .NET/C#,免费离线开源文字识别套件,部署WebAPI 接口快速上手,支持 C#/C++/Java/Python/Go等多种开发语言快速集成。加群475159576技术交流
- **Primary Language**: C#
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: http://ocr.axinw.com
- **GVP Project**: No
## Statistics
- **Stars**: 34
- **Forks**: 8
- **Created**: 2025-03-08
- **Last Updated**: 2026-07-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
[](README.md) [
](README_EN.md)
# PaddleOCRApi离线OCR组件,支持C#、C++、java、Python、Go语言开发
## 🚀 简介
基于PaddleOCR深度封装的完全离线文字识别组件,提供简洁易用的API接口,支持CPU/GPU,支持C#/C++/Java/Python/Go等多种开发语言。完全免费使用,免费升级,支持多线程并发,支持内存自动回收,支持最新paddle_inference3.3.0推理库。
**喜欢的请给本项目点一个免费的Star ⭐**
支持最新PP-OCRv6模型,向下兼容V5/V4模型及自训练模型
> 💡 **说明**:开源版本为Windows CPU-飞浆推理库版,GPU版本依赖库进群 **475159576** 下载,更多高性能推理等更多版本请联系作者定制:QQ:**2380243976**
## 📁 相关文档
- 核心C++动态链接库PaddleOCR.dll接口文档: [PaddleOCR.dll接口清单.md](docs/PaddleOCR.dll接口清单.md)
- OCRCoreService WebAPI接口文档:[WebApi接口文档](./OCRCoreService/README.md)
- 软件声明:[开源协议声明与免责声明](./docs/SOFTWARE_NOTICE.md)
## ✨ 项目特性
- ✅ **多语言支持**: C#、C++、Java、Python、Go
- ✅ **高性能**: 支持CPU/GPU推理
- ✅ **易集成**: 提供WebAPI服务,支持在线调用
- ✅ **多线程**: 支持多线程并发,内存自动回收
- ✅ **离线运行**: 无需联网,数据安全可靠
- ✅ **模型丰富**: 支持PP-OCRv6/v5/v4全系列模型
- ✅ **功能全面**: 文字检测、识别、方向分类、表格识别
- ✅ **图像矫正**: 文本图像几何变换,纠正文档扭曲、倾斜、透视变形,提升识别准确率
- ✅ **以图找图**: 在大图中找到小图输出小图位置坐标,支持登录验证滑块识别
- ✅ **视觉语言模型**: 集成PaddleOCR-VL视觉语言模型,支持通用OCR识别(带提示词)和版面分析
## 📁 项目结构
```
PaddleOCRWebApi/
├── PaddleOCRSDK/ # OCR核心SDK项目
│ ├── PaddleOCR/ # OCR服务实现
│ │ ├── IOCRService.cs # OCR服务接口
│ │ ├── OCRService.cs # OCR识别服务
│ │ └── OCRSDK.cs # SDK核心封装
│ ├── UVDoc/ # 文本图像矫正模块
│ │ └── ... # 文档几何变换、透视矫正等功能
│ ├── PaddleOCRVL/ # 视觉语言模型模块
│ │ ├── IOCRVLService.cs # VL服务接口
│ │ ├── OCRVLService.cs # VL识别服务
│ │ └── OCRVLSDK.cs # VL SDK封装
│ ├── Models/ # 数据模型
│ └── PaddleOCRSDK.csproj # SDK项目文件
│
├── OCRCoreService/ # WebAPI服务项目
│ ├── Controllers/ # API控制器
│ │ ├── OCRServiceController.cs # OCR接口
│ │ ├── UVDocServiceController.cs # 文本图像矫正接口
│ │ ├── OCRVLServiceController.cs # 视觉语言模型接口
│ │ └── HomeController.cs # 首页
│ ├── Services/ # 业务服务
│ │ └── OCREngine.cs # OCR引擎
│ ├── Authorization/ # 权限验证
│ ├── Extensions/ # 扩展方法
│ ├── Utilities/ # 工具类
│ ├── Views/ # 视图文件
│ ├── wwwroot/ # 静态资源
│ ├── appsettings.json # 配置文件
│ └── README.md # WebAPI文档
│
├── Demo/ # 多语言示例代码
│ ├── CPP/ # C++调用示例
│ │ ├── PaddleOCRCpp.cpp # C++示例代码
│ │ └── PaddleOCR.h # C++头文件
│ ├── Python/ # Python调用示例
│ │ ├── OCRPythonDemo.py # Python示例
│ │ └── OCRTablePythonDemo.py # 表格识别示例
│ ├── GoDemo/ # Go调用示例
│ │ └── OCRGoDemo.go # Go示例代码
│ └── WinFormsApp/ # OCR识别WinForms示例
│ ├── MainForm.cs # 主窗体
│ └── Services/ # 服务层
│
├── docs/ # 文档资料
└── README.md # 项目说明文档
```
## 🚀 快速开始
### 1. NuGet包安装(推荐)
使用paddle_inference3.3+版本推理库:
```xml
## ☕ 捐助
如果这个项目对您有所帮助,请扫下方二维码打赏一杯咖啡。
## 🎯 技术架构
### 核心组件
```
┌─────────────────────────────────────────┐
│ 应用层 (Application) │
│ WinForms / WebAPI / Console / SDK │
└─────────────────┬───────────────────────┘
│
┌─────────────────▼───────────────────────┐
│ .NET封装层 (PaddleOCRSDK) │
│ OCRService / IOCRService / Models │
└─────────────────┬───────────────────────┘
│ P/Invoke
┌─────────────────▼───────────────────────┐
│ C++动态库 (PaddleOCR.dll) │
│ 文字检测 / 识别 / 分类 / 表格识别 │
└─────────────────┬───────────────────────┘
│
┌─────────────────▼───────────────────────┐
│ Paddle Inference 推理引擎 │
│ paddle_inference 3.4.0 │
└─────────────────┬───────────────────────┘
│
┌─────────────────▼───────────────────────┐
│ 硬件加速层 │
│ CPU (MKL) / GPU (CUDA+TensorRT) │
└─────────────────────────────────────────┘
```
### 工作流程
1. **图片预处理** → 图像归一化、尺寸调整
2. **文字检测** → DBNet检测文字区域
3. **方向分类** → 文字方向校正(可选)
4. **文字识别** → CRNN识别文字内容
5. **结果输出** → JSON/文本格式返回
## 🙏 致谢
本项目基于以下开源项目:
- [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR) - 飞桨PaddleOCR
- [Paddle](https://github.com/PaddlePaddle/Paddle) - 飞桨推理引擎
## ⭐️ Star
[](https://star-history.com/#PaddleOCRCore/PaddleOCRApi&Date)
## 📄 许可证书
本项目的发布受 [Apache License Version 2.0](./LICENSE) 许可认证, 欢迎大家使用和贡献。