v1.0.0
ocr-server-only.zip 只有主程序,启动后将自动从GitHub下载paddle引擎和资源(需要可以代理)
ocr-server-with-paddle-json.zip (推荐),集成了所有资源,首次使用请选择这个版本
特性
方便给更多应用集成,可以部署成服务器,通过HTTP接口访问
高性能:利用处理器池来处理多个并发请求。
可扩展性:根据需求动态调整 OCR 处理器数量。
容错能力:实现了健康检查和自动处理器重初始化,确保系统稳定性。
灵活输入:支持图片文件路径和 base64 编码的图片数据。
可配置:通过 YAML 文件和命令行参数支持灵活配置。
日志记录:详细的日志记录,支持日志轮转和压缩。
统计信息:提供实时服务器统计信息以便监控。
自动下载:如果需要,自动下载所需的 OCR 引擎。
可以通过 YAML 文件或命令行参数配置服务器。使用配置文件:
./ocr-server.exe -config path/to/config.yaml
使用命令行配置:
./ocr-server.exe -addr 192.168.1.100 -port 8080 -min-processors 8 -max-processors 16
配置选项
选项 | 描述 | 默认值 |
---|---|---|
addr | 服务器地址 | localhost |
port | 服务器端口 | 1111 |
ocr_exe_path | OCR 可执行文件路径 | 自动检测 |
min_processors | 最小处理器数量 | 4 |
max_processors | 最大处理器数量 | CPU 核心数 |
queue_size | 任务队列大小 | 100 |
scale_threshold | 扩展处理器阈值 | 75 |
degrade_threshold | 缩减处理器阈值 | 25 |
idle_timeout | 处理器空闲超时时间 | 5分钟 |
warm_up_count | 预热处理器数量 | 2 |
shutdown_timeout | 优雅关闭超时时间 | 30秒 |
log_file_path | 日志文件路径 | ocr_server.log |
log_max_size | 日志文件最大大小(MB) | 100 |
log_max_backups | 保留的旧日志文件最大数量 | 3 |
log_max_age | 保留旧日志文件的最大天数 | 28 |
log_compress | 是否压缩轮转的日志文件 | true |
使用方法
启动服务器
使用默认配置启动服务器:
./ocr-server.exe
服务器首次运行时会自动下载所需的 PaddleOCR 模型。
Windows 下的命令行启动参数演示
以下是几种不同配置下在 Windows 上启动服务的命令行示例:
使用默认配置启动服务
ocr-server.exe
使用指定的配置文件启动服务
ocr-server.exe -config C:\path\to\config.yaml
使用命令行参数覆盖配置文件中的设置
ocr-server.exe -config C:\path\to\config.yaml -addr 192.168.1.100 -port 8080 -min-processors 8 -log-file C:\logs\ocr_server.log
仅使用命令行参数启动服务
ocr-server.exe -addr 192.168.1.100 -port 8080 -ocr C:\path\to\ocr_executable -min-processors 8 -max-processors 16 -queue-size 200 -scale-threshold 100 -degrade-threshold 50 -idle-timeout 10m -warm-up-count 4 -shutdown-timeout 1m -log-file C:\logs\ocr_server.log -log-max-size 200 -log-max-backups 5 -log-max-age 30 -log-compress
显示帮助信息
ocr-server.exe -help
将服务启动为 Windows 服务
可以使用 sc
命令将服务注册为 Windows 服务:
注册服务
sc create OCRServer binPath= "C:\path\to\ocr-server.exe -config C:\path\to\config.yaml" start= auto
启动服务
sc start OCRServer
停止服务
sc stop OCRServer
删除服务
sc delete OCRServer