一个基于 Python 和 Tkinter 的图形化工具,用于对 扫描型或双层 PDF 文档进行文本提取、图像识别与标注清洗,并最终导出 Markdown 文件、图像文件夹与描述标签。
[2025-08-11]
- 增加了截图添加图片功能;
- 修复了快速点击翻页按钮概率出现无法保存图片注释的bug;
[2025-07-29]
- 增加图例提取功能;
- 增加图像描述的恢复功能;
- 修复了大量图片保存过程中的卡顿问题;
[2025-07-28]
- 增加从编辑历史中恢复工作状态的功能
- 支持导入任意 PDF(扫描版或文字层)
- 自动提取每页文本(支持 OCR)并显示为 Markdown 可编辑格式
- 自动识别页面中的图像区域并提取
- 图像预览界面支持:
- 缩略图预览
- 可编辑图像描述
- 删除图像按钮(图像将从页面中剔除)
- 多页导航:上一页 / 下一页 / 跳转页面
- 支持导出为一个清洗后的 Markdown 文件,并附带图像及图例说明
导出结果将保存在你指定的文件夹中,以导入 PDF 文件名命名,例如导入文件为 example.pdf:
📁 example/
├── export.md ← 合并后的 Markdown 文本
├── descriptions.json ← 图像文件名 -> 图例描述
├── 📁image\
└──── fig001.png ← 所有保留图像(fig001.png ...)
- Python 3.8+
- 推荐使用虚拟环境(conda / venv)
pip install -r requirements.txtpython main.py| 区域 | 说明 |
|---|---|
| 左侧 | PDF 预览区域(支持缩放与滚动) |
| 右侧 | Tab 切换:Markdown 编辑器 / 图像列表 |
| 底部 | 导入、导出、翻页、跳转、进度条、状态栏 |
-
记得首先要在/utils/extract_txt.py中填写百度OCR的API_KEY和SECRET_KEY
-
点击 导入 PDF 按钮,选择文件
-
程序将自动提取文字和图像,显示于左右界面
-
你可以:
- 编辑每页的 Markdown 内容
- 为图像添加说明文字
- 删除不需要的图像
-
操作完成后,点击 导出 按钮
- 选择导出路径(文件夹)
- 系统将自动创建
{pdf文件名}/子文件夹并写入结果
- PDF 渲染:使用 PyMuPDF
- 图像识别:OpenCV + 形态学图像处理(基于面积与矩形比)
- GUI:基于 Tkinter 实现,支持 Markdown 编辑、图像网格展示、动态 UI 更新
- 可扩展性强,适合集成 OCR API(如百度、Tesseract)或深度图像分类模型
MIT License
开发者:@Xpg74138 联系:xin1099477816@163.com
