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