# fw_paddleocr_web **Repository Path**: sunqinbo/fw_paddleocr_web ## Basic Information - **Project Name**: fw_paddleocr_web - **Description**: 功能包括: 文档图像方向分类模块 文档类视觉语言模型模块 公式识别模块 版面区域检测模块 版面分析模块 印章文本检测模块 表格单元格检测模块 表格分类模块 表格结构识别模块 文本检测模块 文本图像矫正模块 文本行方向分类模块 文本识别模块 图表解析模块 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-18 - **Last Updated**: 2025-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PaddleOCR Web 项目设计 ## 项目结构设计 ### 目录组织 ```markdown fw_paddleocr_web/ app/ └── routes/ # 保持现有结构 ├── app/ │ ├── __init__.py │ ├── main.py # FastAPI应用主入口 │ ├── config/ │ │ ├── __init__.py │ │ ├── settings.py # 配置管理模块 │ │ └── config.yaml # 配置文件 ├── api/ │ ├── routes/ │ │ ├── __init__.py │ │ ├── ocr_route.py # OCR相关路由 │ │ ├── log_route.py # 日志管理路由 │ │ ├── user_route.py # 用户管理路由 │ │ └── system_routs.py # 系统管理路由 │ └── main_router.py # 主路由聚合文件 │ └── dev_router.py # 开发模式下的主路由聚合文件 │ ├── schemas/ │ │ ├── __init__.py │ │ ├── common/ │ │ │ ├── __init__.py │ │ │ ├── base.py # 基础模型类 │ │ │ └── responses.py # 通用响应模型 │ │ ├── ocr/ │ │ │ ├── __init__.py │ │ │ ├── requests.py # OCR相关的请求模型 │ │ │ └── responses.py # OCR相关的响应模型 │ │ └── pdf/ │ │ ├── __init__.py │ │ ├── requests.py # PDF相关的请求模型 │ │ └── responses.py # PDF相关的响应模型 │ ├── core/ │ │ ├── __init__.py │ │ └── ocr_processor.py # OCR核心处理逻辑 │ ├── modules/ │ │ ├── __init__.py │ │ ├── doc_orientation.py # 文档方向分类模块 │ │ ├── vlm.py # 视觉语言模型模块 │ │ ├── formula_recognition.py # 公式识别模块 │ │ ├── layout_detection.py # 版面区域检测模块 │ │ ├── layout_analysis.py # 版面分析模块 │ │ ├── seal_text_detection.py # 印章文本检测模块 │ │ ├── table_cell_detection.py# 表格单元格检测模块 │ │ ├── table_classification.py# 表格分类模块 │ │ ├── table_structure.py # 表格结构识别模块 │ │ ├── text_detection.py # 文本检测模块 │ │ ├── image_correction.py # 文本图像矫正模块 │ │ ├── text_direction.py # 文本行方向分类模块 │ │ ├── text_recognition.py # 文本识别模块 │ │ └── chart_parser.py # 图表解析模块 │ └── utils/ │ ├── __init__.py │ ├── logger.py # 日志系统 │ └── exceptions.py # 异常处理 ├── tests/ ├── logs/ │ ├── app.log │ ├── system.log.log │ ├── paddleocr_info.log │ ├── paddleocr_error.log │ ├── ****.log ├── requirements/ │ ├── dev.txt │ ├── base.txt │ ├── prod.txt ├── Dockerfile ├── docker-compose.yml └── README.md ``` ## 核心功能模块 ### 1. 配置管理系统 (`config/settings.py`) - 加载 `config.yaml` 配置文件 - 支持开发/生产环境配置切换 - 环境变量优先级高于配置文件 ### 2. 日志系统 (`utils/logger.py`) - 多线程安全的日志记录 - INFO级别记录基本请求和执行信息 - DEBUG模式输出详细参数内容 - 功能执行耗时统计 ### 3. FastAPI应用 (`main.py`) - 初始化 `FastAPI` 应用实例 - 注册中间件和路由 - 应用生命周期管理(启动/关闭事件) ### 4. 各功能模块 每个模块需实现: - 独立的功能封装 - 统一的输入输出接口 - 集成PaddleOCR 3.2相应功能 - 完整的日志记录 ## 部署方案 ### Docker优化策略 - 多阶段构建减小镜像体积 - 使用轻量级基础镜像(如Alpine) - 仅安装运行时必需依赖 - 设置合理的资源限制 ### 环境区分 - 开发模式:直接运行 `main.py` - 生产环境:Docker容器部署 - 资源限制:通过Docker参数控制CPU和内存使用 ## 技术特点 ### 性能与稳定性 - 异步处理支持高并发 - 连接池管理和资源复用 - 错误处理和优雅降级机制 - 健康检查端点 ### 可维护性 - 模块化设计便于独立开发测试 - 松耦合架构易于扩展 - 完善的日志系统便于问题排查 实现提供了完整的基于PaddleOCR 3.2的Web服务框架,包括: 1. 模块化的功能设计,每个OCR功能都封装在独立的模块中 2. 完善的日志系统,支持多线程安全和不同级别的日志记录 3. FastAPI构建的RESTful API接口 4. Docker容器化部署方案,优化了镜像大小和资源使用 5. 配置管理系统,支持开发和生产环境切换 6. 异常处理和错误日志记录机制