doc-etl/cxs/README.md
2025-05-16 11:30:02 +08:00

120 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 文档处理系统
这是一个基于 FastAPI 的文档处理系统,可以将 DOC、DOCX 和 PDF 文件转换为纯文本格式。
## 系统要求
### 必需组件
1. Python 3.8 或更高版本
2. LibreOffice用于文档格式转换
- 下载地址https://www.libreoffice.org/download/download/
- 安装后需要将安装目录(通常是 `C:\Program Files\LibreOffice\program`)添加到系统 PATH 环境变量
3. Tesseract OCR用于图片文字识别
- 下载地址https://github.com/UB-Mannheim/tesseract/wiki
- 安装时选择"添加到系统路径"选项
### Python 依赖
所有必需的 Python 包都列在 `requirements.txt` 文件中。使用以下命令安装:
```bash
pip install -r requirements.txt
```
## 功能特点
- 支持 DOC、DOCX 和 PDF 文件格式
- 提供简单的拖拽上传界面
- 自动清理文档内容,去除冗余信息
- 输出整洁的纯文本文件
- 自动提取文档正文内容
- 支持图片中的文字识别OCR
- 自动分离正文和附录内容
- 自动下载处理后的文本文件
## 安装说明
1. 克隆项目到本地:
```bash
git clone <repository_url>
cd doc-etl
```
2. 创建虚拟环境(推荐):
```bash
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
```
3. 安装依赖:
```bash
pip install -r requirements.txt
```
## 运行说明
1. 启动服务器:
```bash
uvicorn main:app --reload
```
2. 打开浏览器访问:
```
http://localhost:8000
```
3. 在网页界面上传文件,系统会自动处理并返回转换后的文本文件。
## 目录结构
```
doc-etl/
├── main.py # 主应用程序
├── requirements.txt # 项目依赖
├── README.md # 项目说明
├── static/ # 静态文件
│ └── index.html # 上传页面
├── temp/ # 临时文件目录
└── cxs/ # 文档处理模块
└── cxs_doc_cleaner.py
```
## 注意事项
1. 确保系统已安装 Python 3.8 或更高版本
2. 处理 PDF 文件时需要安装额外的依赖
3. 所有临时文件会在以下情况自动清理:
- 文件处理完成后
- 发生错误时
- 文件下载完成后
- 程序退出时
4. 临时文件存储在 `temp` 目录中,该目录会在程序启动时自动清理
## 更新日志
### 2024-03-21
- 初始版本发布
- 支持基本的文档处理功能
- 添加文件上传界面
### 2024-03-xx
- 优化了文件处理逻辑
- 添加了更详细的错误处理
- 改进了文件类型验证
- 添加了处理进度显示
- 增强了临时文件的自动清理机制
### 2024-03-22
- 优化了批量处理逻辑,改为顺序处理文件
- 添加了文件处理状态实时显示
- 改进了临时文件清理机制
- 增强了错误处理和提示信息
### 2024-03-23
- 优化了图片文件夹命名规则,使用"文件名_随机ID"格式
- 改进了文件清理机制,处理完立即清理
- 添加了更多的日志输出,方便调试问题
- 优化了临时目录的管理和清理时机