Skip to main content

将 PDF 转换为可编辑 PowerPoint 演示文稿的工具

Project description

🚀 NotebookLM2PPT - 将 PDF 转换为可编辑 PowerPoint 的自动化工具

🎉 最新更新

🆕 v0.5.0 - 基于MinerU的PPT后处理优化(重大实验性更新)

我们很高兴宣布 NotebookLM2PPT v0.5.0 的发布!本次更新集成了 MinerU 文档解析能力,为用户提供更强大的 PDF 转 PPT 转换体验。

重要说明:MinerU 是一个后处理功能

  • 程序首先使用微软电脑管家的"智能圈选"功能将 PDF 转换为可编辑的 PPT(基础转换)
  • 如果提供了 MinerU JSON 文件,程序会在基础转换完成后,自动对生成的 PPT 进行深度优化(后处理)
  • MinerU 优化是可选的,不影响基础转换功能的使用

后处理优化内容:

  • 智能文本框筛选:基于 IOU 算法自动识别并保留相关文本框,删除冗余文本框
  • 🎨 字体统一处理:自动将所有文本框字体统一为"微软雅黑"
  • 🖼️ 高质量图片替换:从 MinerU JSON 提取原始高清图片,替换截图图片
  • 🎭 智能背景处理:根据内容特征智能处理背景,实现最佳视觉效果

使用方式:

  1. MinerU 官网 上传 PDF 并解析
  2. 下载生成的 JSON 文件
  3. 在程序 GUI 中选择 PDF 和对应的 JSON 文件
  4. 开始转换,程序会先执行基础转换,完成后自动执行 MinerU 后处理优化

详细使用说明请查看下方 🆕 MinerU 后处理优化功能 章节。


📝 项目简介

NotebookLM2PPT 是一款强大的自动化工具,旨在将不可编辑的 PDF 文档(特别是 NotebookLM 生成的演示文稿)转换为完全可编辑的 PowerPoint 演示文稿。

💡 核心价值

  • 打破限制:将 NotebookLM 生成的精美但不可编辑的 PDF 转化为可二次创作的 PPT。
  • 智能去水印:内置针对 NotebookLM 的智能水印去除算法。
  • 全自动化:利用微软电脑管家的"智能圈选"功能,自动完成截图、识别、转换和合并的全流程。
  • 通用性:不仅限于 NotebookLM,适用于任何需要将 PDF 转换为可编辑 PPT 的场景。
  • 🆕 MinerU 后处理优化:在基础转换完成后,可选地使用 MinerU 文档解析能力对生成的 PPT 进行深度优化,大幅提升排版质量、图片清晰度和文本准确性。

✨ 主要功能

  • 📄 高质量转换:确保 PDF 到图片的无损转换,支持自定义 DPI 参数。
  • 🖼️ 智能修复:自动识别并抹除 NotebookLM 的特定水印,保持图像质量。
  • 🤖 自动化流程:模拟快捷键和鼠标点击,实现无人值守操作。
  • 🔄 无缝合并:将零散的幻灯片完美整合为一个完整的演示文稿。
  • ⚙️ 高度可定制:支持 DPI、延迟、显示比例等多种参数微调。
  • 🆕 MinerU 后处理优化(可选):
    • 在基础转换完成后,使用 MinerU JSON 对生成的 PPT 进行优化
    • 智能文本框筛选:基于 IOU 算法,自动识别并保留与 PDF 内容相关的文本框,删除冗余文本框
    • 字体统一:将所有文本框字体统一为"微软雅黑",提升演示文稿的专业性
    • 高质量图片替换:从 MinerU JSON 中提取原始高清图片,替换基础转换中的截图图片,确保图像清晰度
    • 智能背景处理:根据内容特征智能处理背景,实现最佳视觉效果

💡 想了解更多技术实现细节? 请查看 实现细节文档


🚀 快速开始

1. 系统要求

  • 操作系统: Windows 10/11 (必须,因为依赖微软电脑管家)
  • Python: 3.8 或更高版本
  • 软件依赖:
    • Microsoft PowerPoint: 用于生成和合并幻灯片。
    • 微软电脑管家: 必须安装并确保版本 $\ge$ 3.17.50.0

2. 配置微软电脑管家

  1. 打开微软电脑管家 -> 工具箱
  2. 找到 智能圈选,确保其已开启。
  3. 默认快捷键应为 Ctrl + Shift + A。如果修改了,请同步修改代码中的配置。
  4. 测试:手动按下快捷键,确保能看到圈选界面并出现“转换为PPT”选项。

3. 安装

方式 A:下载预编译版本(推荐)

直接前往 Releases 页面下载最新的 .exe 执行文件。无需安装 Python 环境,开箱即用。

方式 B:通过 pip 安装

如果你已经安装了 Python,可以直接通过 pip 安装:

pip install notebooklm2ppt -U

方式 C:从源码安装

pip install git+https://github.com/elliottzheng/NotebookLM2PPT.git

📖 使用指南

notebooklm2ppt

或者

python main.py

这将启动一个简单的图形界面,你可以通过它选择文件、设置参数并查看转换进度。

你可以在任何目录下运行该命令,程序会在当前目录下创建一个 workspace 文件夹存放中间文件和最终输出的 PPT。


🆕 MinerU 后处理优化功能

什么是 MinerU?

MinerU 是一个强大的在线文档解析工具,能够智能识别 PDF 文档的结构、文本、图片和排版信息,并生成包含详细元数据的 JSON 文件。

MinerU 在本工具中的作用

重要理解:MinerU 是一个后处理优化功能,不是转换的核心功能

本工具的转换流程分为两个阶段:

  1. 基础转换阶段(必须)

    • 使用微软电脑管家的"智能圈选"功能
    • 将 PDF 页面转换为图片
    • 通过 OCR 识别生成可编辑的 PPT
    • 这个阶段不依赖 MinerU,可以独立完成
  2. MinerU 后处理优化阶段(可选)

    • 在基础转换完成后,如果提供了 MinerU JSON 文件
    • 程序会读取 JSON 中的结构化信息
    • 对基础转换生成的 PPT 进行深度优化
    • 这个阶段依赖 MinerU JSON 文件,是可选的增强功能

为什么使用 MinerU 后处理优化?

虽然本工具的基础转换功能已经能够将 PDF 转换为可编辑的 PPT,但在以下场景中,使用 MinerU 后处理优化可以显著提升转换质量:

  • 复杂排版文档:包含多栏、表格、图文混排的复杂文档,基础转换可能产生大量冗余文本框
  • 高质量图片需求:基础转换使用截图,图片清晰度受限于 DPI,后处理可替换为原始高清图片
  • 专业演示文稿:对字体、排版、背景有较高要求的商业演示,需要统一的字体和优化的背景
  • 批量转换:需要保证多份文档风格统一的情况,后处理可确保一致性

效果如下图所示,左边为无后处理,右边为有后处理,有很显著的改善。

如何使用 MinerU 后处理优化?

步骤 1:在 MinerU 网站解析 PDF

  1. 访问 MinerU 官网
  2. 上传你的 PDF 文件
  3. 等待解析完成(通常需要几分钟,取决于文档大小)
  4. 下载生成的 JSON 文件

步骤 2:在程序中使用 JSON 文件

在 GUI 界面的"文件设置"区域:

  • 选择要转换的 PDF 文件
  • 在"输入PDF对应的MinerU JSON (可选)"字段中选择刚才下载的 JSON 文件
  • 点击"开始转换"按钮

转换流程说明:

  1. 程序首先执行基础转换:使用微软电脑管家的"智能圈选"功能将 PDF 转换为可编辑的 PPT
  2. 如果提供了 MinerU JSON 文件,程序会在基础转换完成后自动执行后处理优化
  3. 后处理优化包括:智能文本框筛选、字体统一、高质量图片替换、智能背景处理
  4. 最终输出经过优化的高质量 PPT 文件

注意: 如果不提供 JSON 文件,程序只会执行基础转换,跳过后处理优化阶段。

优化效果对比

特性 基础转换 MinerU 优化
文本框准确性 ⭐⭐⭐ ⭐⭐⭐⭐⭐
图片清晰度 ⭐⭐⭐ ⭐⭐⭐⭐⭐
字体统一性 ⭐⭐ ⭐⭐⭐⭐⭐
背景处理 ⭐⭐⭐ ⭐⭐⭐⭐
整体排版质量 ⭐⭐⭐ ⭐⭐⭐⭐⭐

常见问题

Q: MinerU JSON 文件是必需的吗? A: 不是必需的。如果不提供 JSON 文件,程序会使用基础转换功能,仍然能够生成可编辑的 PPT。

Q: MinerU 是免费服务吗? A: MinerU 目前看来是免费服务,只需要注册即可免费试用。

Q: 如果 JSON 文件与 PDF 不匹配会怎样? A: 程序会尝试使用 JSON 信息,但可能导致优化效果不正确。请确保 JSON 文件与要转换的 PDF 完全对应。

Q: 想了解更多技术实现细节? A: 请查看 实现细节文档MinerU 技术实现细节文档


⚠️ 注意事项与常见问题

1. 按钮偏移参数的重要性(核心功能)

⚠️ 这是最关键的参数!

本工具通过模拟鼠标点击微软电脑管家的"转换为PPT"按钮来实现自动转换,按钮偏移参数决定了程序能否准确定位并点击该按钮。

首次使用建议

  • 勾选"校准按钮位置"选项
  • 程序会引导你手动点击按钮位置,自动保存偏移值
  • 校准后的偏移值会自动保存,下次使用时无需重复校准

如果校准失败

  • 确保微软电脑管家已更新到最新版本
  • 检查智能圈选功能是否正常工作
  • 尝试手动校准按钮位置
  • 清除保存的偏移值,重新进行校准

💡 想了解按钮偏移参数的技术原理? 请查看 实现细节文档

2. 转换失败或卡住?

  • 窗口焦点:运行期间请勿操作鼠标键盘,以免干扰自动化流程。
  • 显示比例:如果图片超出屏幕导致无法圈选,请尝试减小显示比例参数。
  • 网络/性能:如果 PPT 生成较慢,请增加超时时间。

3. 找不到生成的 PPT?

  • 本工具默认从系统的 下载 (Downloads) 文件夹抓取微软电脑管家生成的临时文件。请确保下载路径未被重定向。

4. 智能圈选没有"转换为PPT"选项?

  • 请确保微软电脑管家已更新到最新版本。
  • 该功能可能在某些地区或版本中处于灰度测试,请检查设置中的"预览体验计划"。

📄 开源协议

本项目基于 MIT License 开源。

🤝 贡献与反馈

  • 提交 Issues 反馈 Bug 或建议。
  • 欢迎提交 Pull Request 改进代码。

Made with ❤️ for better productivity

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

notebooklm2ppt-0.5.2.tar.gz (2.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

notebooklm2ppt-0.5.2-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

Details for the file notebooklm2ppt-0.5.2.tar.gz.

File metadata

  • Download URL: notebooklm2ppt-0.5.2.tar.gz
  • Upload date:
  • Size: 2.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for notebooklm2ppt-0.5.2.tar.gz
Algorithm Hash digest
SHA256 c394fe973c18c04b4b34ddd94529034252de514473e0342b6443374c4a5d3199
MD5 9a1b3d0bbec906811020670bcc8cf565
BLAKE2b-256 09a3b12d08d05eddf33be522db68e491e96e904995dfafcbf12858b47eddd0b3

See more details on using hashes here.

File details

Details for the file notebooklm2ppt-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: notebooklm2ppt-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 32.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for notebooklm2ppt-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 19a7e31c8a7048d00e3ab7fe97d23c61fafd41073f451997af1e32f6408f5a26
MD5 aab10730828c740f792a4f82b64fba32
BLAKE2b-256 a7ddcbef18092529de24e12c338cb85f1195a466d1697857724768a13531961c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page