# OCR2HTML
**Repository Path**: Maxwell_Peng_pengjin/ocr2-html
## Basic Information
- **Project Name**: OCR2HTML
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-12-17
- **Last Updated**: 2025-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# OCR2HTML - AI化验单分析系统
基于DeepSeek-OCR和大语言模型的化验单智能分析系统,能够自动识别化验单图片、提取结构化数据、分析异常指标,并生成可视化HTML报告。
## ✨ 功能特点
### 🖼️ 图像处理
- 支持多种图片格式:JPG、PNG、BMP、TIFF
- 自动图像质量检测与增强
- 智能OCR文字识别
### 🔍 OCR识别
- 基于DeepSeek-OCR的高精度文字识别
- 保留表格结构和布局信息
- 置信度评估与数据过滤
### 🧠 智能分析
- 大语言模型结构化数据提取
- 异常值自动检测与标记
- 临床意义分析与风险评估
- 单位转换与参考范围解析
### 📊 可视化报告
- 专业美观的HTML报告
- 异常值高亮显示
- 统计图表与趋势分析
- 响应式设计,支持移动端
### 🚀 便捷操作
- 拖拽上传文件
- 实时处理进度显示
- 批量处理支持
- 报告预览与下载
## 🏗️ 系统架构
```
输入层(图像预处理)
├── 图像质量检测
├── 自动增强处理
└── 格式转换
核心处理层
├── DeepSeek-OCR识别
├── 结构化数据提取
├── 异常值分析
└── 风险评估
输出层(可视化)
├── HTML报告生成
├── 异常指标汇总
├── AI分析摘要
└── 报告导出
```
## 🚀 快速开始
### 环境要求
- Node.js 16+
- npm 或 yarn
- DeepSeek API密钥
### 安装步骤
1. 克隆项目
```bash
git clone https://gitee.com/Maxwell_Peng_pengjin/ocr2-html.git
cd ocr2-html
```
2. 安装依赖
```bash
npm install
```
3. 配置环境变量
```bash
cp .env.example .env
# 编辑 .env 文件,填入你的DeepSeek API密钥
```
4. 启动服务器
```bash
npm start
# 或使用开发模式
npm run dev
```
5. 访问应用
打开浏览器访问:http://localhost:3000
## ⚙️ 配置说明
### 环境变量 (.env)
```env
# DeepSeek API配置
DEEPSEEK_API_KEY=your_deepseek_api_key_here
DEEPSEEK_API_BASE=https://api.deepseek.com
# OCR配置
OCR_CONFIDENCE_THRESHOLD=0.85
OCR_MAX_FILE_SIZE=5242880 # 5MB
# 服务器配置
PORT=3000
NODE_ENV=development
# 文件上传配置
UPLOAD_DIR=./uploads
MAX_UPLOAD_FILES=10
```
### 📁 目录结构
```
ocr2-html/
├── src/ # 源代码
│ ├── modules/ # 功能模块
│ │ ├── ocr/ # OCR处理模块
│ │ ├── parser/ # 数据解析模块
│ │ └── generator/ # HTML生成模块
│ ├── static/ # 静态文件
│ │ ├── css/ # 样式文件
│ │ ├── js/ # 前端脚本
│ │ └── index.html # 前端页面
│ └── app.js # 主应用程序
├── uploads/ # 上传文件临时目录
├── output/ # 生成的报告目录
├── tests/ # 测试文件
├── .env.example # 环境变量示例
├── package.json # 项目配置
└── README.md # 说明文档
```
## 📖 使用指南
### 1. 上传文件
- 点击"选择文件"按钮或拖拽文件到上传区域
- 支持批量上传,最多10个文件
- 单文件最大5MB
### 2. 配置选项
- **OCR识别模式**:标准/高精度/快速
- **分析模式**:标准/详细/快速
- **处理选项**:数据验证/数据增强/图像预览
### 3. 开始处理
- 点击"开始处理"按钮
- 系统将自动进行OCR识别、数据分析和报告生成
- 实时显示处理进度
### 4. 查看结果
- 查看统计信息:总项目数、异常项目、危急值等
- 预览HTML报告
- 下载报告文件
- 生成新的报告
## 🔌 API接口
### 文件上传
```
POST /api/upload
Content-Type: multipart/form-data
参数:
- files: 图片文件(多选)
- ocrMode: OCR模式
- analysisMode: 分析模式
- enableValidation: 是否启用验证
- enableEnhancement: 是否启用增强
- generateImagePreview: 是否生成图像预览
```
### 处理进度
```
GET /api/progress/:processId
```
### 报告列表
```
GET /api/reports
```
### 健康检查
```
GET /api/health
```
### 模拟处理(测试用)
```
POST /api/mock/process
```
## 💻 开发指南
### 模块说明
#### OCR模块 (`src/modules/ocr/`)
- `imagePreprocessor.js`: 图像预处理
- `deepseekOCR.js`: DeepSeek-OCR接口封装
- `index.js`: OCR处理器主入口
#### 解析模块 (`src/modules/parser/`)
- `dataSchema.js`: 数据Schema定义
- `deepseekParser.js`: 大语言模型解析器
- `index.js`: 数据解析器主入口
#### 生成模块 (`src/modules/generator/`)
- `htmlTemplates.js`: HTML模板引擎
- `index.js`: HTML生成器主入口
### 添加新的检验项目类型
1. 在 `src/modules/parser/dataSchema.js` 中添加项目定义
2. 在 `src/modules/parser/deepseekParser.js` 中添加解析逻辑
3. 在 `src/modules/generator/htmlTemplates.js` 中添加显示模板
### 自定义报告样式
编辑 `src/modules/generator/htmlTemplates.js` 中的样式定义,或修改 `src/static/css/style.css` 文件。
## 🧪 测试
### 运行测试
```bash
npm test
```
### 模拟测试
由于需要API密钥,系统提供了模拟测试接口:
1. 启动服务器
2. 访问 http://localhost:3000
3. 上传任意图片文件
4. 系统将使用模拟数据进行测试
## ⚠️ 注意事项
### 数据安全
- 所有上传的文件在处理完成后会自动删除
- 生成的报告不包含敏感个人信息
- 建议在生产环境中使用HTTPS
### 性能优化
- 大文件处理可能需要较长时间
- 建议单次处理不超过5个文件
- 可调整OCR和分析模式以平衡速度与精度
### 错误处理
- 系统会自动记录错误日志
- 处理失败的文件会显示具体错误信息
- 支持断点续传(开发中)
## 🔧 故障排除
### 常见问题
1. **API密钥错误**
- 检查 `.env` 文件中的 `DEEPSEEK_API_KEY`
- 确保API密钥有足够的额度
2. **文件上传失败**
- 检查文件格式和大小限制
- 确保上传目录有写入权限
3. **处理速度慢**
- 减少同时处理的文件数量
- 使用"快速模式"
- 检查网络连接
4. **报告生成失败**
- 检查输出目录权限
- 查看服务器日志获取详细信息
### 日志查看
```bash
# 查看错误日志
tail -f logs/error.log
# 查看访问日志
tail -f logs/access.log
```
## 📅 更新日志
### v1.0.0 (2024-12-17)
- 初始版本发布
- 完整的OCR识别流程
- 大语言模型数据分析
- HTML报告生成
- 前端交互界面
## 📄 许可证
MIT License
## ⚖️ 免责声明
本系统生成的分析报告仅供参考,不能替代专业医疗诊断。如有任何健康问题,请及时咨询专业医生。
## 🤝 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
## 📞 技术支持
如有问题或建议,请提交Issue或联系开发团队。