Преглед на файлове

feat: 添加表格线条生成器 README 文档,包含功能特性、技术栈、使用说明及项目结构

zhch158_admin преди 1 седмица
родител
ревизия
ea5e18400a
променени са 1 файла, в които са добавени 137 реда и са изтрити 0 реда
  1. 137 0
      table_line_generator/README.md

+ 137 - 0
table_line_generator/README.md

@@ -0,0 +1,137 @@
+# Table Line Generator
+
+基于 Vue 3 + TypeScript + Konva.js 的表格线条编辑工具。
+
+## 功能特性
+
+- 📤 上传 OCR JSON + 图片文件进行分析
+- 🖱️ 鼠标拖拽调整线条位置
+- ⌨️ 键盘快捷键支持 (Ctrl+Z 撤销, Delete 删除等)
+- ➕ 添加/删除横线和竖线
+- 📐 精确坐标输入调整
+- 💾 保存结构 JSON 和绘制后的图片
+- 🔄 批量处理多页文档
+
+## 技术栈
+
+### 前端
+- Vue 3 + TypeScript
+- vue-konva (Canvas 绘制)
+- Element Plus (UI 组件)
+- Pinia (状态管理)
+- Vite (构建工具)
+
+### 后端
+- FastAPI
+- Python 3.8+
+- Pillow (图像处理)
+- NumPy (数值计算)
+
+## 快速开始
+
+### 1. 安装后端依赖
+
+```bash
+cd ocr_platform/table_line_generator
+pip install -e ./core
+pip install -r backend/requirements.txt
+```
+
+### 2. 启动后端服务
+
+```bash
+cd ocr_platform/table_line_generator/backend
+uvicorn main:app --reload --port 8000
+```
+
+后端服务将在 http://localhost:8000 启动。
+
+### 3. 安装前端依赖
+
+```bash
+cd ocr_platform/table_line_generator/frontend
+npm install
+```
+
+### 4. 启动前端开发服务器
+
+```bash
+cd ocr_platform/table_line_generator/frontend
+npm run dev
+```
+
+前端服务将在 http://localhost:5173 启动。
+
+## 使用说明
+
+### 上传文件
+1. 打开浏览器访问 http://localhost:5173
+2. 将 OCR JSON 文件和对应图片拖拽到上传区域
+3. 点击"开始分析"按钮
+
+### 编辑线条
+- **拖拽移动**: 直接拖拽线条调整位置
+- **选中线条**: 点击线条进行选中(选中后变为红色)
+- **删除线条**: 选中后按 Delete 键,或点击工具栏删除按钮
+- **添加线条**: 点击工具栏"添加横线/竖线"按钮
+- **精确调整**: 在右侧面板输入精确坐标值
+
+### 键盘快捷键
+| 快捷键 | 功能 |
+|-------|------|
+| Ctrl+Z | 撤销 |
+| Ctrl+Y / Ctrl+Shift+Z | 重做 |
+| Delete / Backspace | 删除选中线条 |
+| ↑↓ | 微调横线 ±1px |
+| ←→ | 微调竖线 ±1px |
+| Shift+方向键 | 微调 ±10px |
+
+### 保存结果
+1. 在右侧面板设置输出目录和文件名
+2. 点击"保存结果"按钮
+3. 将生成结构 JSON 和绘制线条的图片
+
+## 项目结构
+
+```
+table_line_generator/
+├── core/                   # Python 核心模块
+│   ├── ocr_parser.py       # OCR 数据解析
+│   ├── table_analyzer.py   # 表格结构分析
+│   └── drawing_service.py  # 绘图服务
+├── backend/                # FastAPI 后端
+│   ├── main.py             # 应用入口
+│   ├── api/                # API 路由
+│   ├── services/           # 业务逻辑
+│   ├── models/             # 数据模型
+│   └── config/             # 配置文件
+└── frontend/               # Vue 3 前端
+    ├── src/
+    │   ├── components/     # Vue 组件
+    │   ├── composables/    # 组合式函数
+    │   ├── stores/         # Pinia 状态管理
+    │   ├── api/            # API 客户端
+    │   └── types/          # TypeScript 类型
+    └── package.json
+```
+
+## 坐标系统说明
+
+- **原图坐标**: 所有结构数据使用原图像素坐标
+- **显示坐标**: 前端显示时乘以 `scaleFactor`
+- **保存时**: 直接使用原图坐标,无需转换
+
+对于超过 4096×4096 的大图,系统会自动计算 `scaleFactor` 进行缩放显示。
+
+## 依赖关系
+
+本模块依赖 `ocr_platform/ocr_utils` 中的公共工具函数。如果需要使用图片处理相关的工具函数,可以从 `ocr_utils.image_utils` 导入。
+
+## API 文档
+
+启动后端后,访问 http://localhost:8000/docs 查看 Swagger API 文档。
+
+## License
+
+MIT
+