# PDF气泡图工具 **Repository Path**: LvToDi/pdf-bubble-chart-tool ## Basic Information - **Project Name**: PDF气泡图工具 - **Description**: 用于给工程PDF文件,添加气泡序号的工具。 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-27 - **Last Updated**: 2026-06-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PDF 气泡图工具 一个用于在 PDF 工程图中创建气泡图的可视化的 Web 工具,可将 PDF 页面中的文本提取为气泡,并生成带有气泡标注的 PDF 文件。 ![输入图片说明](docs/4250e323-65bd-46ae-bd47-e6e30647a3b4.png) ## 功能特性 - **PDF 上传与预览**:上传 PDF 文件并在网页中浏览每一页 - **文本块提取**:自动识别并提取 PDF 中的文本内容 - **区域与气泡编辑**:创建区域、添加气泡、编辑气泡描述文字 - **气泡归属**:将气泡分配到不同的区域,支持多区域管理 - **导出功能**: - 生成带气泡标注的 PDF 文件 - **数据持久化**:自动保存编辑数据,支持会话恢复 ## 技术栈 - **后端**:Python + Flask - **前端**:原生 JavaScript + HTML/CSS - **PDF 处理**:PyMuPDF (fitz) - **Excel 生成**:openpyxl ## 目录结构 ``` . ├── app.py # Flask 主应用 ├── dqr.py # 核心业务逻辑(PDF提取、气泡绘制、Excel导出) ├── static/ │ ├── css/style.css # 样式文件 │ └── js/app.js # 前端脚本 ├── templates/ │ └── index.html # 主页模板 ├── docs/ │ └── HELP_DESIGN.md # 帮助文档 └── LICENSE # MIT 许可证 ``` ## 安装依赖 ```bash pip install flask fitz openpyxl ``` ## 运行方式 ### Web 服务器模式 ```bash python app.py ``` 服务器将在 `http://localhost:5000` 启动。 ### 命令行模式 #### 提取文本块 ```bash python dqr.py extract [options] ``` **选项:** - `--pages`:指定页码范围,如 `1,3-5` - `--region`:指定区域百分比,如 `0,0,100,50`(左,上,右,下) #### 生成气泡图 PDF ```bash python dqr.py finalize [options] ``` **选项:** - `--radius`:气泡半径(默认 15) - `--output`:输出文件路径 ## 使用流程 1. **上传 PDF**:通过网页上传 PDF 文件 2. **提取文本**:系统自动识别文本块,可在侧边栏查看 3. **创建区域**:在左侧面板创建区域(如"数据源"、"数据处理"等) 4. **添加气泡**:在画布上点击添加气泡,填写描述文字 5. **分配归属**:将气泡拖拽到对应区域或使用编辑功能分配 6. **导出交付物**:生成带气泡的 PDF 和 Excel 表格 ## 快捷键 - `←/→`:上一页/下一页 - `+/-`:放大/缩小 - `Delete`:删除选中项 ## 许可证 MIT License - 查看 [LICENSE](LICENSE) 文件 --- This README provides a comprehensive overview of the project for developers and users.