Skip to content

Commit 0b00f2c

Browse files
committed
feat: 閲嶆瀯 UmiOCR 妯″潡锛屾柊澧?OCR/Doc 鏂囨。璇嗗埆鏀寔
1 parent bf112a8 commit 0b00f2c

5 files changed

Lines changed: 565 additions & 52 deletions

File tree

README.md

Lines changed: 22 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
- **线程池管理**:简单高效的线程池实现,支持任务队列和任务等待
1616
- **JavaScript执行**:支持两种执行方式,JintRunner(纯.NET实现,无需Node.js)和NodeJsRunner(需要Node.js),支持代码字符串和文件执行、方法调用、变量管理、函数调用等丰富功能
1717
- **身份证验证**:提供中国身份证号码验证、地址提取、性别识别等功能,支持18位身份证号码的完整校验
18-
- **OCR 识别**:集成 UmiOCR,支持图片文字识别,可配置识别语言、输出格式、角度检测、忽略区域等参数
18+
- **OCR 识别**:集成 UmiOCR,支持图片与文档文字识别,提供图片 OCR(`OCR`)与文档 OCR(`Doc`,可配置识别语言、输出格式、角度检测、忽略区域等参数
1919
- **Base64 编码**:提供文件、字节数组、字符串等多种数据格式的 Base64 编码功能
2020
- **.NET Standard 2.1兼容**:支持.NET Core、.NET Framework和其他兼容平台
2121
- **模块化设计**:各功能模块相互独立,便于扩展和维护
@@ -533,41 +533,37 @@ else
533533
using WodToolkit.src.UmiOCR;
534534
using System.Collections.Generic;
535535

536-
// 1. 创建 UmiOCR 实例(默认连接本地服务 http://127.0.0.1:1224)
537-
var umiOcr = new UmiOCR();
536+
// 1. 创建图片 OCR 实例(默认连接本地服务 http://127.0.0.1:1224)
537+
var ocr = new OCR();
538538

539-
// 2. 基本 OCR 识别(使用默认参数)
540-
string result = umiOcr.Ocr("image.jpg");
541-
Console.WriteLine($"识别结果: {result}");
539+
// 2. 基本图片 OCR 识别(使用默认参数)
540+
string imgResult = ocr.Ocr("image.jpg");
541+
Console.WriteLine($"识别结果: {imgResult}");
542542

543543
// 3. 指定识别语言和输出格式
544-
string result2 = umiOcr.Ocr("image.jpg", language: "简体中文", format: "json");
545-
Console.WriteLine($"JSON 格式结果: {result2}");
544+
string imgResult2 = ocr.Ocr("image.jpg", language: "简体中文", format: "json");
545+
Console.WriteLine($"JSON 格式结果: {imgResult2}");
546546

547547
// 4. 启用角度检测
548-
string result3 = umiOcr.Ocr("image.jpg", angle: true);
548+
string imgResult3 = ocr.Ocr("image.jpg", angle: true);
549549

550550
// 5. 指定忽略区域(忽略图片中的某些区域)
551551
var ignoreAreas = new List<int[][]>
552552
{
553553
new int[][] { new int[] { 10, 20 }, new int[] { 100, 200 } }, // 第一个忽略区域
554554
new int[][] { new int[] { 150, 250 }, new int[] { 300, 400 } } // 第二个忽略区域
555555
};
556-
string result4 = umiOcr.Ocr("image.jpg", ignoreArea: ignoreAreas);
557-
558-
// 6. 完整参数示例
559-
string result5 = umiOcr.Ocr(
560-
file: "image.jpg",
561-
language: "简体中文",
562-
format: "text",
563-
parser: "merge_line",
564-
angle: true,
565-
ignoreArea: ignoreAreas
566-
);
567-
568-
// 7. 使用自定义 UmiOCR 服务地址
569-
var customOcr = new UmiOCR("http://192.168.1.100:1224");
570-
string customResult = customOcr.Ocr("image.jpg");
556+
string imgResult4 = ocr.Ocr("image.jpg", ignoreArea: ignoreAreas);
557+
558+
// 6. 文档 OCR(PDF 等):仅需传入文件路径
559+
var doc = new Doc();
560+
var docResult = doc.Recognize("document.pdf");
561+
562+
// 想要保存结果文件路径:
563+
Console.WriteLine(docResult.SavedFilePath);
564+
565+
// 想要识别文本内容:
566+
Console.WriteLine(docResult.TextContent);
571567
```
572568

573569
### Base64 编码示例
@@ -611,7 +607,8 @@ WodToolKit
611607
│ ├── JintRunner # Jint JavaScript执行器(纯.NET)
612608
│ └── NodeJsRunner # Node.js脚本执行器
613609
├── UmiOCR/ # OCR 识别
614-
│ └── UmiOCR # UmiOCR 集成
610+
│ ├── OCR # 图片 OCR(/api/ocr)
611+
│ └── Doc # 文档 OCR(/api/doc)
615612
└── Common/ # 通用工具
616613
├── IDCard # 身份证验证与信息提取
617614
└── Common # 通用工具方法(Base64编码等)

docs/umiocr.md

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,20 @@
11
# OCR 识别
22

3-
WodToolKit 集成了 UmiOCR,提供了便捷的图片文字识别功能。UmiOCR 是一个开源的 OCR 识别服务,支持多种语言和输出格式。
3+
WodToolKit 集成了 UmiOCR,提供了便捷的图片和文档文字识别功能。UmiOCR 是一个开源的 OCR 识别服务,支持多种语言和输出格式。
44

55
## 功能概述
66

7-
`UmiOCR` 类提供了以下功能:
7+
`WodToolKit.src.UmiOCR` 命名空间下提供了两个核心类:
8+
9+
- `OCR`:图片文字识别(对应 UmiOCR `/api/ocr` 接口)
10+
- `Doc`:文档识别(如 PDF,对应 UmiOCR `/api/doc` 系列接口)
11+
12+
主要能力:
813

914
- 图片文字识别
15+
- 文档/PDF 识别并生成可搜索 PDF、TXT、JSONL 等
1016
- 支持多种识别语言(中文、英文、中英混合等)
11-
- 支持多种输出格式(text、json、jsonl)
17+
- 支持多种输出格式(text、json、jsonl
1218
- 支持角度自动检测
1319
- 支持忽略区域设置
1420
- 支持自定义 UmiOCR 服务地址
@@ -25,23 +31,24 @@ WodToolKit 集成了 UmiOCR,提供了便捷的图片文字识别功能。UmiOC
2531

2632
## 基本使用
2733

28-
### 创建 UmiOCR 实例
34+
### 创建实例
2935

3036
```csharp
3137
using WodToolkit.src.UmiOCR;
3238

33-
// 使用默认地址(http://127.0.0.1:1224)
34-
var umiOcr = new UmiOCR();
39+
// 图片 OCR(/api/ocr)
40+
var ocr = new OCR(); // 默认 http://127.0.0.1:1224
41+
var customOcr = new OCR("http://192.168.1.100:1224");
3542

36-
// 使用自定义地址
37-
var customOcr = new UmiOCR("http://192.168.1.100:1224");
43+
// 文档 OCR(/api/doc)
44+
var doc = new Doc(); // 默认 http://127.0.0.1:1224
3845
```
3946

40-
### 基本 OCR 识别
47+
### 基本图片 OCR 识别
4148

4249
```csharp
4350
// 最简单的使用方式
44-
string result = umiOcr.Ocr("image.jpg");
51+
string result = ocr.Ocr("image.jpg");
4552
Console.WriteLine(result);
4653
```
4754

0 commit comments

Comments
 (0)