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