# excel-pdf-extractor **Repository Path**: 229xu/excel-pdf-extractor ## Basic Information - **Project Name**: excel-pdf-extractor - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-29 - **Last Updated**: 2026-03-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Excel PDF 数据提取系统 一个专业的工业文档数据处理系统,支持从 PDF 和 Excel 文件中自动提取数据。 ## ✨ 功能特性 - 📄 **PDF 数据提取** - 自动识别产品合格证,提取牌号、炉号、批次号等信息 - 📊 **Excel 数据提取** - 从明细单中提取入库数据 - 🔍 **二维码识别** - 基于 OpenCV 的二维码扫描和数据解析 - 🎨 **友好界面** - Tkinter GUI,支持拖拽操作 - ⚡ **批量处理** - 支持多文件并行提取 - 💾 **缓存机制** - 智能缓存提升重复提取速度 ## 🚀 快速开始 ### 安装依赖 ```bash pip install -r requirements.txt ``` ### 运行程序 ```bash # 方式 1: 使用启动脚本 python run_gui_no_warnings.py # 方式 2: 直接运行模块 python -m src.gui.main_window ``` ## 📁 项目结构 ``` app/ ├── src/ # 源代码 │ ├── extractors/ # 数据提取器 │ │ ├── pdf_extractor.py # PDF 提取器 │ │ └── excel_extractor.py # Excel 提取器 │ ├── validators/ # 数据校验器 │ │ └── data_validator.py # 数据比对 │ ├── services/ # 服务层 │ │ └── extraction_service.py # 提取服务 │ ├── core/ # 核心基础设施 │ │ ├── cache.py # 缓存管理 │ │ ├── events.py # 事件总线 │ │ └── task_queue.py # 任务队列 │ └── gui/ # GUI 模块 │ └── main_window.py # 主窗口 ├── tests/ # 单元测试 ├── test_tools/ # 测试工具 │ └── scripts/ # 分类测试脚本 ├── data/ # 数据文件 │ └── samples/ # 测试样本 ├── docs/ # 文档 │ ├── guides/ # 使用指南 │ └── reports/ # 开发报告 ├── scripts/ # 工具脚本 └── requirements.txt # 依赖配置 ``` 📖 **详细结构**: 查看 [PROJECT_STRUCTURE.md](PROJECT_STRUCTURE.md) ## 📖 使用说明 ### 1. PDF 数据提取 1. 点击"选择文件"选择 PDF 文件 2. 点击"🚀 一键提取" 3. 查看提取结果 ### 2. Excel 数据提取 1. 点击"选择文件"选择 Excel 文件 2. 点击"🚀 一键提取" 3. 查看提取结果 ### 3. 同时提取 1. 分别选择 PDF 和 Excel 文件 2. 点击"🚀 一键提取" 3. 同时获取两个文件的数据 ## 🧪 测试 ```bash # 运行单元测试 pytest tests/unit -v # 运行集成测试 pytest tests/integration -v # 生成测试覆盖率报告 pytest --cov=src --cov-report=html ``` ## 🛠️ 开发 ### 代码质量检查 ```bash # 安装开发依赖 pip install -r requirements-dev.txt # 一键格式化代码 python scripts/format_code.py # 运行代码检查 python scripts/check_code.py # 单独使用工具 black src/ # 格式化 isort src/ # 导入排序 flake8 src/ # 风格检查 mypy src/ # 类型检查 ``` ### Pre-commit 钩子 ```bash # 安装 pre-commit pre-commit install # 手动运行所有钩子 pre-commit run --all-files ``` ### 旧命令(仍然支持) ```bash # 代码格式化 black src/ tests/ # 代码检查 flake8 src/ tests/ # 类型检查 mypy src/ ``` ## 📝 更新日志 详见 [CHANGELOG.md](docs/changelog.md) ## 📄 许可证 MIT License ## 👥 贡献 欢迎提交 Issue 和 Pull Request!