notebookLM2PPT
Enables AI models to convert NotebookLM PDF exports into high-quality PowerPoint presentations with automatic watermark removal and vector graphics preservation. It provides automated tools for slide conversion, metadata management, and document processing via the Model Context Protocol.
README
notebookLM2PPT
Convert PDF Slides to PowerPoint Presentations with Vector Graphics (highest resolution).

✨ Features
- 🎯 Vector Graphics - Maintains highest resolution in generated PPT
- 📝 Metadata Conversion - Preserves title, author and other metadata
- 📐 Auto Detection - Automatically detects slide size and aspect ratio
- 🚀 Easy to Use - Simple command line interface with beautiful output
- 📄 Page Selection - Convert specific pages with
--pagesoption - ⚡ Parallel Processing - Speed up conversion with
--paralleloption - 🔍 Dependency Check - Automatically checks for required tools
- 🎨 Web UI - Modern web interface with drag-and-drop support
- 📡 REST API - FastAPI server with async processing
- 🔧 MCP Support - Model Context Protocol for AI integration
- 🐳 Docker Ready - All-in-one Docker image available
- 💎 Glassmorphism Design - Ultra modern frosted glass UI with neon effects
- 🌍 18 Languages - Full internationalization support
🌍 Supported Languages
| Language | Code | Language | Code |
|---|---|---|---|
| English | en | Italiano | it |
| 简体中文 | zh-CN | Русский | ru |
| 繁體中文 | zh-TW | العربية | ar |
| 日本語 | ja | हिन्दी | hi |
| 한국어 | ko | ไทย | th |
| Français | fr | Tiếng Việt | vi |
| Deutsch | de | Nederlands | nl |
| Español | es | Polski | pl |
| Português | pt | Türkçe | tr |
🎯 Motivation
- LaTeX users can easily convert
beamerslides from PDF to PPT - Typst users can easily convert
touyingslides from PDF to PPT
🚀 Quick Start
Option 1: Command Line (pipx)
# Install via pipx (recommended)
pipx install notebooklm2ppt
# Convert PDF to PPT
pdf2ppt input.pdf output.pptx
Option 2: Web UI (Docker)
For x86_64 / AMD64 (Linux servers, Intel Macs):
docker run -d -p 8100:8100 neosun/notebooklm2ppt:1.2.0-amd64
For ARM64 (Apple Silicon Macs, ARM servers):
docker run -d -p 8100:8100 neosun/notebooklm2ppt:1.2.0-arm64
Auto-detect architecture:
docker run -d -p 8100:8100 neosun/notebooklm2ppt:latest
Access at: http://localhost:8100
Option 3: API Server
# Install with server dependencies
pip install "notebooklm2ppt[server]"
# Start server
python -m uvicorn web.app:app --host 0.0.0.0 --port 8100
API Documentation: http://localhost:8100/docs
📦 Installation
Prerequisites
Install Dependencies
macOS:
brew install pdf2svg inkscape
Ubuntu/Debian:
sudo apt-get install pdf2svg inkscape
Windows:
Install notebookLM2PPT
# Recommended: Install with pipx (isolated environment)
pipx install notebooklm2ppt
# Or install with pip
pip install notebooklm2ppt
📖 Usage
Basic Usage
# Specify output file
pdf2ppt input.pdf output.pptx
# Auto-generate output filename (input.pptx)
pdf2ppt input.pdf
# Verbose mode
pdf2ppt input.pdf --verbose
Advanced Usage
# Convert specific pages
pdf2ppt input.pdf -p 1-5,7,9-11
# Parallel processing (4 workers)
pdf2ppt input.pdf -j 4
# Force overwrite existing file
pdf2ppt input.pdf output.pptx --force
# Keep temporary files for debugging
pdf2ppt input.pdf --no-clean
Command Line Options
usage: pdf2ppt [-h] [-v] [--verbose] [--no-clean] [--no-check] [--force]
[--pages PAGES] [--parallel PARALLEL]
[--pdf2svg-path PATH] [--inkscape-path PATH]
input [output]
positional arguments:
input Input PDF file
output Output PPTX file (default: input.pptx)
options:
-h, --help show this help message and exit
-v, --version show program's version number and exit
--verbose Verbose output
--no-clean Keep temporary files
--no-check Skip SVG filter check
--force, -f Overwrite output file if exists
--pages, -p PAGES Page range (e.g., "1-5,7,9-11")
--parallel, -j N Parallel workers (default: 1)
--pdf2svg-path PATH Path to pdf2svg executable
--inkscape-path PATH Path to inkscape executable
🔧 Technical Implementation
- Convert PDF to SVG using
pdf2svg - Convert SVG to EMF using
inkscape(due to python-pptx limitations) - Insert EMF into PPT using
python-pptx
🛠️ Tech Stack
| Component | Technology |
|---|---|
| Language | Python 3.9+ |
| PDF Processing | pypdf |
| PPT Generation | python-pptx |
| PDF to SVG | pdf2svg |
| SVG to EMF | Inkscape |
| CLI Output | rich |
⚠️ Known Issues
Transparent Background
Elements with transparency are not fully supported due to dependency limitations. You will receive a warning when such issues are detected. You can manually copy the generated SVG to fix the problem.
See #1 for more details.
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright © 2023-2024 Teddy van Jerry (Wuqiong Zhao)
⭐ Star History
📱 Follow Us

推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。