120 lines
3.0 KiB
Markdown
120 lines
3.0 KiB
Markdown
# 文档处理系统
|
||
|
||
这是一个基于 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"格式
|
||
- 改进了文件清理机制,处理完立即清理
|
||
- 添加了更多的日志输出,方便调试问题
|
||
- 优化了临时目录的管理和清理时机 |