文档处理系统

这是一个基于 FastAPI 的文档处理系统,可以将 DOC、DOCX 和 PDF 文件转换为纯文本格式。

系统要求

必需组件

  1. Python 3.8 或更高版本

  2. LibreOffice用于文档格式转换

  3. Tesseract OCR用于图片文字识别

Python 依赖

所有必需的 Python 包都列在 requirements.txt 文件中。使用以下命令安装:

pip install -r requirements.txt

功能特点

  • 支持 DOC、DOCX 和 PDF 文件格式
  • 提供简单的拖拽上传界面
  • 自动清理文档内容,去除冗余信息
  • 输出整洁的纯文本文件
  • 自动提取文档正文内容
  • 支持图片中的文字识别OCR
  • 自动分离正文和附录内容
  • 自动下载处理后的文本文件

安装说明

  1. 克隆项目到本地:
git clone <repository_url>
cd doc-etl
  1. 创建虚拟环境(推荐):
python -m venv venv
source venv/bin/activate  # Linux/Mac
venv\Scripts\activate     # Windows
  1. 安装依赖:
pip install -r requirements.txt

运行说明

  1. 启动服务器:
uvicorn main:app --reload
  1. 打开浏览器访问:
http://localhost:8000
  1. 在网页界面上传文件,系统会自动处理并返回转换后的文本文件。

目录结构

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