Skip to main content

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

Project description

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

📝 项目简介

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

💡 核心价值

  • 打破限制:将 NotebookLM 生成的精美但不可编辑的 PDF 转化为可二次创作的 PPT。
  • 智能去水印:内置针对 NotebookLM 的智能水印去除算法。
  • 全自动化:利用微软电脑管家的“智能圈选”功能,自动完成截图、识别、转换和合并的全流程。
  • 通用性:不仅限于 NotebookLM,适用于任何需要将 PDF 转换为可编辑 PPT 的场景。

🛠️ 工作原理

本工具通过模拟人工操作,实现了一套高效的转换流程:

graph TD
    A[PDF 文件] --> B[PDF 转 PNG 图片]
    B --> C{是否启用去水印?}
    C -- 是 --> D[智能去除 NotebookLM 水印]
    C -- 否 --> E[保留原始图像]
    D --> F[全屏显示图片]
    E --> F
    F --> G[调用微软电脑管家智能圈选]
    G --> H[自动点击'转换为PPT']
    H --> I[从下载目录提取生成的 PPT]
    I --> J[合并所有单页 PPT]
    J --> K[生成最终 PowerPoint 文件]

✨ 主要功能


🚀 快速开始

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

📖 使用指南

图形界面 (GUI)

如果你更喜欢使用图形界面,只需直接运行程序而不带任何参数:

notebooklm2ppt

或者

python main.py

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

命令行界面 (CLI)

安装后,你可以直接在命令行中使用 notebooklm2ppt 命令:

# 处理指定 PDF
notebooklm2ppt path/to/your/document.pdf

或者

python -m notebooklm2ppt path/to/your/document.pdf

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

也可以clone本项目后通过 python main.py 运行:

python main.py path/to/your/document.pdf

进阶用法

场景 命令示例
通用 PDF 转换 (不带去水印) notebooklm2ppt --no-inpaint my_doc.pdf
高分辨率转换 (提高识别率) notebooklm2ppt --dpi 200 my_doc.pdf
调整显示比例 (适配小屏幕) notebooklm2ppt -s 0.7 my_doc.pdf
自定义输出路径 notebooklm2ppt -o my_workspace my_doc.pdf

完整参数说明

参数 简写 说明 默认值
pdf_file - 目标 PDF 文件路径 -
--delay -d 每页处理间的等待延迟(秒) 2
--timeout -t 等待 PPT 生成的超时时间(秒) 50
--dpi - 渲染图片的 DPI(去水印建议 150) 150
--no-inpaint - 禁用 NotebookLM 水印去除功能 False
--size-ratio -s 图片在屏幕上的显示比例 (0-1) 0.8
--output -o 工作文件存放目录 workspace

📁 项目结构

NotebookLM2PPT/
├── main.py                          # 程序主入口
├── requirements.txt                 # 依赖清单
├── src/                             # 核心源码
│   ├── pdf2png.py                   # PDF 解析与图像预处理
│   ├── ppt_combiner.py              # PPT 幻灯片合并逻辑
│   └── utils/                       # 通用工具集
│       ├── screenshot_automation.py  # 模拟操作与截图自动化
│       ├── image_viewer.py          # OpenCV 图像全屏渲染
│       └── image_inpainter.py       # 图像修复与去水印算法
├── examples/                        # 示例 PDF 存放处
└── workspace/                       # 运行时的临时文件与输出结果

⚠️ 注意事项与常见问题

1. 转换失败或卡住?

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

2. 找不到生成的 PPT?

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

3. 智能圈选没有“转换为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.3.0.tar.gz (1.7 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.3.0-py3-none-any.whl (23.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for notebooklm2ppt-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1ee658d206a6d2566c66c7353948f4c939f304a232007e7b0438c226b95037db
MD5 3a3976bf317c5abddf8344606ebc9984
BLAKE2b-256 01c7dbf9c0a42549b0beef109c61ce7762e258d0eed91dfd3f376943960e3c1f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: notebooklm2ppt-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 23.0 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 16fd37f10d11c8e8ae14f62697dde8cef697e9bd2813b80d6a624e8e7ab51cdb
MD5 126abab7846f27a9d830443fcee00852
BLAKE2b-256 9130716046539b503c851af10ccebe8f3f68371593238623764e57fbed1f52a2

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