本工具利用 MinerU PDF 提取器 生成的结构化数据,将 PDF 文件和图片文件转换为可编辑的 PowerPoint 演示文稿(.pptx)。它能准确地重建文本、图片和布局,提供一个高保真的、可编辑的原始文档副本。
本应用带有一个为用户设计的图形界面(GUI),简单易用。
作为普通用户,您只需要下载发布包(CPU 或 GPU 版本)。您无需安装 Python 或任何编程库。
-
下载应用程序: 从本项目的 Releases 页面 下载最新发布包。
MinerU2PPT-win64-cpu-setup.exe:CPU 版本(默认推荐)。MinerU2PPT-win64-gpu-cu118-setup.exe:CUDA 11.8 GPU 版本。MinerU2PPT-win64-gpu-cu126-setup.exe:CUDA 12.6 GPU 版本。MinerU2PPT-win64-gpu-cu129-setup.exe:CUDA 12.9 GPU 版本。
-
获取 MinerU JSON 文件:
- 访问 MinerU PDF/图片提取器。
- 上传您的 PDF 或图片文件,等待其处理完成。
- 下载生成的 JSON 文件。该文件包含了您的文档结构信息,是本工具进行转换所必需的。

-
运行转换器:
- 双击
.exe文件以启动应用程序。 - 选择输入文件: 将您的 PDF 或图片文件拖拽到第一个输入框中,或使用“浏览...”按钮选择。
- 选择 JSON 文件: 将您从 MinerU 下载的 JSON 文件拖拽到第二个输入框中。
- 输出路径: 您的新 PowerPoint 文件的输出路径将被自动填充。您也可以直接输入路径,或使用“另存为...”按钮来更改。
- 选项:
- 移除水印: 勾选此项可自动擦除被标记为水印语义的元素(例如页脚、页码等)。
- 生成调试图片: 除非您需要排查问题,否则请勿勾选此项。
- 点击 开始转换。
- 双击
-
打开您的文件: 转换完成后,点击“打开输出文件夹”按钮,即可找到您新生成的
.pptx文件。
该应用还支持批量模式,可以一次性转换多个文件。
- 切换到批量模式: 点击应用右上角的“批量模式”按钮。界面将切换到批量处理视图。
- 添加任务:
- 点击“添加任务”按钮,会弹出一个新窗口。
- 在弹出窗口中,通过拖拽或浏览选择输入文件、对应的 MinerU JSON 文件,并指定输出路径。
- 为此特定任务设置移除水印选项。
- 点击“确定”将任务添加到列表中。
- 管理任务: 您可以向列表中添加多个任务。如果需要删除任务,请从列表中选中它,然后点击“删除任务”。
- 开始批量转换: 添加完所有任务后,点击“开始批量转换”。应用将按顺序处理每个任务。日志区域会显示每个文件的处理进度。
本部分为需要从源代码运行或打包分发本应用的开发者提供说明。
- 克隆本仓库。
- 建议使用虚拟环境:
python -m venv venv source venv/bin/activate # 在 Windows 上: venv\Scripts\activate
- 按开发目标安装依赖。
- 默认(GPU CUDA 11.8 全量开发):
pip install -r requirements.txt
- GPU CUDA 12.6 全量开发:
pip install -r requirements-gpu-cu126.txt -r requirements-build.txt
- GPU CUDA 12.9 全量开发:
pip install -r requirements-gpu-cu129.txt -r requirements-build.txt
- CPU 全量开发(CI/其他协作者):
pip install -r requirements-dev-cpu.txt
- 默认(GPU CUDA 11.8 全量开发):
- 运行 GUI 应用程序:
python gui.py
- 使用命令行界面 (CLI):
python main.py --json <json文件路径> --input <pdf或图片路径> --output <ppt输出路径> [OPTIONS]
--ocr-device {auto,gpu,cpu}:OCR 设备策略,默认auto(gpu -> cpu回退)。--ocr-model-root <path>:可选,本地 PaddleOCR 模型根目录。未指定时会自动下载模型。--ocr-model-variant {auto,lite,server}:OCR 模型版本,默认auto(有 GPU 用 server,无 GPU 用 lite/mobile)。--ocr-font-distance-threshold <float>:字体敏感度,用于 OCR bbox 细化(默认60.0)。数值越大,文本框越大。
示例:
python main.py --json "demo/case1/MinerU_xxx.json" --input "demo/case1/PixPin_xxx.png" --output "out.pptx" --ocr-device auto --ocr-font-distance-threshold 60如果希望回归流程同时产出 PPT 便于直接人工查看,可执行:
python -m pytest "tests/integration/test_case1_ocr.py" -k all_demo_cases_generate_ppt_outputs_for_manual_review生成的 PPT 位于:
tmp/regression_ppt_outputs/case1.pptxtmp/regression_ppt_outputs/case2.pptxtmp/regression_ppt_outputs/case3.pptxtmp/regression_ppt_outputs/case4.pptxtmp/regression_ppt_outputs/case5.pptx
本项目现推荐使用 onedir/安装包风格,而不是 onefile,稳定性更好,也更适合离线模型分发。
-
安装 PyInstaller:
pip install pyinstaller
-
OCR 模型(默认自动下载): 默认会在首次运行时自动下载模型。如需使用本地模型,可传
--ocr-model-root或设置MINERU_OCR_MODEL_ROOT。可选本地目录结构(仅在提供时需要):
models/paddleocr/<variant>/<lang>/det models/paddleocr/<variant>/<lang>/rec models/paddleocr/<variant>/<lang>/cls # 仅在启用方向分类时需要其中
<variant>为lite或server。 -
构建 onedir 包:
pyinstaller --clean gui.spec
-
查看构建产物: 产物目录位于
dist/MinerU2PPT/。
- 文档域:
docs/architecture/docs/testing/docs/core-flow/docs/api/
- 核心流程文档:
docs/core-flow/font-size-normalization-pre-render.mddocs/core-flow/ocr-bbox-xy-refine-flow.mddocs/core-flow/watermark-ir-removal-flow.md
- 架构文档:
docs/architecture/ocr-engine-configuration.md
- 测试文档:
docs/testing/font-size-normalization-testing.mddocs/testing/ocr-bbox-refine-testing.mddocs/testing/ocr-configuration-testing.mddocs/testing/watermark-ir-removal-testing.md
