{"id":35464071,"url":"https://github.com/elliottzheng/notebooklm2ppt","last_synced_at":"2026-01-25T13:02:47.818Z","repository":{"id":329911550,"uuid":"1120966923","full_name":"elliottzheng/NotebookLM2PPT","owner":"elliottzheng","description":"🚀 将 NotebookLM 生成的 PDF 转换为完全可编辑的PPT。支持去水印、全自动化截图识别与幻灯片自动合并。","archived":false,"fork":false,"pushed_at":"2026-01-23T12:00:47.000Z","size":2607,"stargazers_count":107,"open_issues_count":3,"forks_count":13,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-01-23T19:23:46.017Z","etag":null,"topics":["automation","image-processing","notebooklm","pdf-to-ppt","productivity-tool"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/elliottzheng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-22T08:20:21.000Z","updated_at":"2026-01-23T16:20:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/elliottzheng/NotebookLM2PPT","commit_stats":null,"previous_names":["elliottzheng/notebooklm2ppt"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/elliottzheng/NotebookLM2PPT","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elliottzheng%2FNotebookLM2PPT","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elliottzheng%2FNotebookLM2PPT/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elliottzheng%2FNotebookLM2PPT/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elliottzheng%2FNotebookLM2PPT/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/elliottzheng","download_url":"https://codeload.github.com/elliottzheng/NotebookLM2PPT/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/elliottzheng%2FNotebookLM2PPT/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28753411,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-25T10:25:12.305Z","status":"ssl_error","status_checked_at":"2026-01-25T10:25:11.933Z","response_time":113,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","image-processing","notebooklm","pdf-to-ppt","productivity-tool"],"created_at":"2026-01-03T09:56:28.235Z","updated_at":"2026-01-25T13:02:47.813Z","avatar_url":"https://github.com/elliottzheng.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 NotebookLM2PPT - 将 PDF 转换为可编辑 PowerPoint 的自动化工具\n\n## 🎉 最新更新\n\n### 🆕 v0.6.0 - 极致轻量化与性能优化 (2026-01-23)\n\n本次更新专注于核心架构的深度优化，在保持 MinerU 后处理功能完整性的同时，大幅提升了程序性能。\n\n**核心优化：**\n- ⚡ **依赖瘦身**：完全移除 OpenCV 和 Scikit-learn，程序体积大幅减小，启动速度显著提升\n- 🔧 **算法升级**：图像修复和边缘多样性检测改用 Numpy 原生实现，处理效率更高\n- 🖼️ **显示引擎迁移**：全屏图像显示迁移至 Tkinter，降低内存占用\n\n**功能增强：**\n- ⌨️ **ESC 键全局支持**：在截图、处理或转换流程中，均可通过 ESC 键即时中断任务\n- 🎯 **PPT 精炼优化**：改进文本块与图片块识别逻辑，修复\"双层图片\"问题\n\n---\n\n### 🆕 v0.5.0 - 基于MinerU的PPT后处理优化（重大实验性更新）\n\n我们很高兴宣布 NotebookLM2PPT v0.5.0 的发布！本次更新集成了 [MinerU](https://mineru.net/) 文档解析能力，为用户提供更强大的 PDF 转 PPT 转换体验。\n\n**重要说明：MinerU 是一个后处理功能**\n- 程序首先使用微软电脑管家的\"智能圈选\"功能将 PDF 转换为可编辑的 PPT（基础转换）\n- 如果提供了 MinerU JSON 文件，程序会在基础转换完成后，自动对生成的 PPT 进行深度优化（后处理）\n- MinerU 优化是可选的，不影响基础转换功能的使用\n\n**后处理优化内容：**\n- ✨ **智能文本框筛选**：基于 IOU 算法自动识别并保留相关文本框，删除冗余文本框\n- 🎨 **字体统一处理**：自动将所有文本框字体统一为\"微软雅黑\"\n- 🖼️ **高质量图片替换**：从 MinerU JSON 提取原始高清图片，替换截图图片\n- 🎭 **智能背景处理**：根据内容特征智能处理背景，实现最佳视觉效果\n\n**使用方式：**\n1. 在 [MinerU 官网](https://mineru.net/) 上传 PDF 并解析\n2. 下载生成的 JSON 文件\n3. 在程序 GUI 中选择 PDF 和对应的 JSON 文件\n4. 开始转换，程序会先执行基础转换，完成后自动执行 MinerU 后处理优化\n\n详细使用说明请查看下方 [🆕 MinerU 后处理优化功能](#-mineru-后处理优化功能) 章节。\n\n---\n\n## 📝 项目简介\n\n**NotebookLM2PPT** 是一款强大的自动化工具，旨在将不可编辑的 PDF 文档（特别是 [NotebookLM](https://notebooklm.google.com/) 生成的演示文稿）转换为**完全可编辑**的 PowerPoint 演示文稿。\n\n### 💡 核心价值\n\n- **打破限制**：将 NotebookLM 生成的精美但不可编辑的 PDF 转化为可二次创作的 PPT。\n- **智能去水印**：内置针对 NotebookLM 的智能水印去除算法。\n- **全自动化**：利用微软电脑管家的\"智能圈选\"功能，自动完成截图、识别、转换和合并的全流程。\n- **通用性**：不仅限于 NotebookLM，适用于任何需要将 PDF 转换为可编辑 PPT 的场景。\n- **🆕 MinerU 后处理优化**：在基础转换完成后，可选地使用 MinerU 文档解析能力对生成的 PPT 进行深度优化，大幅提升排版质量、图片清晰度和文本准确性。\n\n---\n\n## ✨ 主要功能\n\n- 📄 **高质量转换**：确保 PDF 到图片的无损转换，支持自定义 DPI 参数。\n- 🖼️ **智能修复**：自动识别并抹除 NotebookLM 的特定水印，保持图像质量。\n- 🤖 **自动化流程**：模拟快捷键和鼠标点击，实现无人值守操作。\n- 🔄 **无缝合并**：将零散的幻灯片完美整合为一个完整的演示文稿。\n- ⚙️ **高度可定制**：支持 DPI、延迟、显示比例等多种参数微调。\n- 🆕 **MinerU 后处理优化**（可选）：\n  - 在基础转换完成后，使用 MinerU JSON 对生成的 PPT 进行优化\n  - **智能文本框筛选**：基于 IOU 算法，自动识别并保留与 PDF 内容相关的文本框，删除冗余文本框\n  - **字体统一**：将所有文本框字体统一为\"微软雅黑\"，提升演示文稿的专业性\n  - **高质量图片替换**：从 MinerU JSON 中提取原始高清图片，替换基础转换中的截图图片，确保图像清晰度\n  - **智能背景处理**：根据内容特征智能处理背景，实现最佳视觉效果\n\n\u003e 💡 **想了解更多技术实现细节？** 请查看 [实现细节文档](docs/implementation-details.md)\n\n---\n\n## 🚀 快速开始\n\n### 1. 系统要求\n\n- **操作系统**: Windows 10/11 (必须，因为依赖微软电脑管家)\n- **Python**: 3.8 或更高版本\n- **软件依赖**:\n  - **Microsoft PowerPoint**: 用于生成和合并幻灯片。\n  - **[微软电脑管家](https://pcmanager.microsoft.com/)**: 必须安装并确保版本 $\\ge$ **3.17.50.0**。\n\n### 2. 配置微软电脑管家\n\n1. 打开微软电脑管家 -\u003e **工具箱**。\n2. 找到 **智能圈选**，确保其已开启。\n3. 默认快捷键应为 `Ctrl + Shift + A`。如果修改了，请同步修改代码中的配置。\n4. **测试**：手动按下快捷键，确保能看到圈选界面并出现“转换为PPT”选项。\n\n### 3. 安装\n\n#### 方式 A：下载预编译版本（推荐）\n直接前往 [Releases](https://github.com/elliottzheng/NotebookLM2PPT/releases) 页面下载最新的 `.exe` 执行文件。无需安装 Python 环境，开箱即用。\n\n#### 方式 B：通过 pip 安装\n如果你已经安装了 Python，可以直接通过 pip 安装：\n\n```bash\npip install notebooklm2ppt -U\n```\n\n#### 方式 C：从源码安装\n```bash\npip install git+https://github.com/elliottzheng/NotebookLM2PPT.git\n```\n\n---\n\n## 📖 使用指南\n\n```bash\nnotebooklm2ppt\n```\n或者\n```bash\npython main.py\n```\n\n这将启动一个简单的图形界面，你可以通过它选择文件、设置参数并查看转换进度。\n\n你可以在任何目录下运行该命令，程序会在当前目录下创建一个 `workspace` 文件夹存放中间文件和最终输出的 PPT。\n\n---\n\n## 🆕 MinerU 后处理优化功能\n\n### 什么是 MinerU？\n\n[MinerU](https://mineru.net/) 是一个强大的在线文档解析工具，能够智能识别 PDF 文档的结构、文本、图片和排版信息，并生成包含详细元数据的 JSON 文件。\n\n### MinerU 在本工具中的作用\n\n**重要理解：MinerU 是一个后处理优化功能，不是转换的核心功能**\n\n本工具的转换流程分为两个阶段：\n\n1. **基础转换阶段**（必须）\n   - 使用微软电脑管家的\"智能圈选\"功能\n   - 将 PDF 页面转换为图片\n   - 通过 OCR 识别生成可编辑的 PPT\n   - 这个阶段不依赖 MinerU，可以独立完成\n\n2. **MinerU 后处理优化阶段**（可选）\n   - 在基础转换完成后，如果提供了 MinerU JSON 文件\n   - 程序会读取 JSON 中的结构化信息\n   - 对基础转换生成的 PPT 进行深度优化\n   - 这个阶段依赖 MinerU JSON 文件，是可选的增强功能\n\n### 为什么使用 MinerU 后处理优化？\n\n虽然本工具的基础转换功能已经能够将 PDF 转换为可编辑的 PPT，但在以下场景中，使用 MinerU 后处理优化可以显著提升转换质量：\n\n- **复杂排版文档**：包含多栏、表格、图文混排的复杂文档，基础转换可能产生大量冗余文本框\n- **高质量图片需求**：基础转换使用截图，图片清晰度受限于 DPI，后处理可替换为原始高清图片\n- **专业演示文稿**：对字体、排版、背景有较高要求的商业演示，需要统一的字体和优化的背景\n- **批量转换**：需要保证多份文档风格统一的情况，后处理可确保一致性\n\n效果如下图所示，左边为无后处理，右边为有后处理，有很显著的改善。\n\n![](assets/compare.png)\n![](assets/compare2.png)\n\n### 如何使用 MinerU 后处理优化？\n\n#### 步骤 1：在 MinerU 网站解析 PDF\n\n1. 访问 [MinerU 官网](https://mineru.net/)\n2. 上传你的 PDF 文件\n3. 等待解析完成（通常需要几分钟，取决于文档大小）\n4. 下载生成的 JSON 文件\n\n#### 步骤 2：在程序中使用 JSON 文件\n\n在 GUI 界面的\"文件设置\"区域：\n- 选择要转换的 PDF 文件\n- 在\"输入PDF对应的MinerU JSON (可选)\"字段中选择刚才下载的 JSON 文件\n- 点击\"开始转换\"按钮\n\n**转换流程说明：**\n1. 程序首先执行基础转换：使用微软电脑管家的\"智能圈选\"功能将 PDF 转换为可编辑的 PPT\n2. 如果提供了 MinerU JSON 文件，程序会在基础转换完成后自动执行后处理优化\n3. 后处理优化包括：智能文本框筛选、字体统一、高质量图片替换、智能背景处理\n4. 最终输出经过优化的高质量 PPT 文件\n\n**注意：** 如果不提供 JSON 文件，程序只会执行基础转换，跳过后处理优化阶段。\n\n### 优化效果对比\n\n| 特性 | 基础转换 | MinerU 优化 |\n|------|---------|------------|\n| 文本框准确性 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |\n| 图片清晰度 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |\n| 字体统一性 | ⭐⭐ | ⭐⭐⭐⭐⭐ |\n| 背景处理 | ⭐⭐⭐ | ⭐⭐⭐⭐ |\n| 整体排版质量 | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ |\n\n### 常见问题\n\n**Q: MinerU JSON 文件是必需的吗？**\nA: 不是必需的。如果不提供 JSON 文件，程序会使用基础转换功能，仍然能够生成可编辑的 PPT。\n\n**Q: MinerU 是免费服务吗？**\nA: MinerU 目前看来是免费服务，只需要注册即可免费试用。\n\n**Q: 如果 JSON 文件与 PDF 不匹配会怎样？**\nA: 程序会尝试使用 JSON 信息，但可能导致优化效果不正确。请确保 JSON 文件与要转换的 PDF 完全对应。\n\n**Q: 想了解更多技术实现细节？**\nA: 请查看 [实现细节文档](docs/implementation-details.md) 和 [MinerU 技术实现细节文档](docs/mineru-technical-details.md)。\n\n---\n\n## ⚠️ 注意事项与常见问题\n\n### 1. 按钮偏移参数的重要性（核心功能）\n\n**⚠️ 这是最关键的参数！**\n\n本工具通过模拟鼠标点击微软电脑管家的\"转换为PPT\"按钮来实现自动转换，按钮偏移参数决定了程序能否准确定位并点击该按钮。\n\n**首次使用建议**：\n- 勾选\"校准按钮位置\"选项\n- 程序会引导你手动点击按钮位置，自动保存偏移值\n- 校准后的偏移值会自动保存，下次使用时无需重复校准\n\n**如果校准失败**：\n- 确保微软电脑管家已更新到最新版本\n- 检查智能圈选功能是否正常工作\n- 尝试手动校准按钮位置\n- 清除保存的偏移值，重新进行校准\n\n\u003e 💡 **想了解按钮偏移参数的技术原理？** 请查看 [实现细节文档](docs/implementation-details.md#按钮偏移参数)\n\n### 2. 转换失败或卡住？\n- **窗口焦点**：运行期间请勿操作鼠标键盘，以免干扰自动化流程。\n- **显示比例**：如果图片超出屏幕导致无法圈选，请尝试减小显示比例参数。\n- **网络/性能**：如果 PPT 生成较慢，请增加超时时间。\n\n### 3. 找不到生成的 PPT？\n- 本工具默认从系统的 **下载 (Downloads)** 文件夹抓取微软电脑管家生成的临时文件。请确保下载路径未被重定向。\n\n### 4. 智能圈选没有\"转换为PPT\"选项？\n- 请确保微软电脑管家已更新到最新版本。\n- 该功能可能在某些地区或版本中处于灰度测试，请检查设置中的\"预览体验计划\"。\n\n---\n\n## 📄 开源协议\n\n本项目基于 [MIT License](LICENSE) 开源。\n\n## 🤝 贡献与反馈\n\n- 提交 [Issues](https://github.com/elliottzheng/NotebookLM2PPT/issues) 反馈 Bug 或建议。\n- 欢迎提交 Pull Request 改进代码。\n\n---\n\u003cp align=\"center\"\u003eMade with ❤️ for better productivity\u003c/p\u003e\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felliottzheng%2Fnotebooklm2ppt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Felliottzheng%2Fnotebooklm2ppt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Felliottzheng%2Fnotebooklm2ppt/lists"}