笔记本LM2PPT
](https://badge.fury.io/py/notebooklm2ppt)   ](https://github.com/neosun100/notebookLM2PPT/stargazers)
使用将PDF幻灯片转换为PowerPoint演示文稿 矢量图形 (最高分辨率)。
✨ 特性
- 🎯 矢量图形 -在生成的PPT中保持最高分辨率
- 📝 元数据转换 -保留标题、作者和其他元数据
- 📐 自动检测 -自动检测幻灯片大小和纵横比
- 🚀 易于使用 -简单的命令行界面,输出美观
- 📄 页面选择 -将特定页面转换为
--pages选项 - ⚡ 并行处理 -通过以下方式加快转换速度
--parallel选项 - 🔍 依赖检查 -自动检查所需工具
- 🎨 Web 界面 -支持拖放的现代web界面
- 📡 REST API -具有异步处理的FastAPI服务器
- 🔧 MCP支持 -人工智能集成的模型上下文协议
- 🐳 Docker就绪 -多功能Docker镜像可用
- 💎 玻璃形态设计 -超现代磨砂玻璃UI,带霓虹效果
- 🌍 18种语言 -全面的国际化支持
🌍 支持的语言
| 语言 | 代码 | 语言 | 代码 |
|---|---|---|---|
| 英语 | 意大利语 | it | |
| 简体中文 | zh-CN | Русский | ru |
| 繁体中文 | zh-TW | العربية | ar |
| 日本语 | ja | हिन्दी | hi |
| 韩语 | ko | th |
Français 124 fr 124越南语124 vi🙂 | 德语 | 荷兰语 | |西班牙语| ES |波尔斯基| PL| | 葡萄牙语 | pt | 土耳其语 | tr |
🎯 动机
🚀 快速开始
选项1:命令行(pipx)
# Install via pipx (recommended)
pipx install notebooklm2ppt
# Convert PDF to PPT
pdf2ppt input.pdf output.pptx选项2:Web用户界面(Docker)
对于x86_64/AMD64(Linux服务器、Intel Mac):
docker run -d -p 8100:8100 neosun/notebooklm2ppt:1.2.0-amd64对于ARM64(苹果Silicon Mac、ARM服务器):
docker run -d -p 8100:8100 neosun/notebooklm2ppt:1.2.0-arm64自动检测架构:
docker run -d -p 8100:8100 neosun/notebooklm2ppt:latest访问地址: http://localhost:8100
选项3:API服务器
# Install with server dependencies
pip install "notebooklm2ppt[server]"
# Start server
python -m uvicorn web.app:app --host 0.0.0.0 --port 8100API文件: http://localhost:8100/docs
📦 安装
先决条件
安装依赖项
macOS:
brew install pdf2svg inkscapeUbuntu/Debian:
sudo apt-get install pdf2svg inkscape窗户:
- 将它们添加到您的路径中
安装笔记本LM2PPT
# Recommended: Install with pipx (isolated environment)
pipx install notebooklm2ppt
# Or install with pip
pip install notebooklm2ppt📖 用法
基本用法
# Specify output file
pdf2ppt input.pdf output.pptx
# Auto-generate output filename (input.pptx)
pdf2ppt input.pdf
# Verbose mode
pdf2ppt input.pdf --verbose高级用法
# 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命令行选项
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🔧 技术实现
- 使用将PDF转换为SVG
pdf2svg - 使用将SVG转换为EMF
inkscape(由于python pptx的限制) - 使用以下命令将EMF插入PPT
python-pptx
🛠️ 技术栈
| 组件 | 技术 |
|---|---|
| 语言 | Python 3.9+ |
| PDF处理 | pypdf |
| PPT生成 | python pptx |
| PDF转换为SVG | pdf2svg |
| SVG到EMF | Inkscape |
| CLI输出 | 丰富 |
⚠️ 已知问题
透明背景
由于依赖性限制,不完全支持具有透明度的元素。当检测到此类问题时,您将收到警告。您可以手动复制生成的SVG来解决问题。
看 #1 了解更多详情。
🤝 贡献
欢迎投稿!请随时提交拉取请求。
- 克隆该仓库
- 创建功能分支(
git checkout -b feature/AmazingFeature) - 提交您的更改(
git commit -m 'Add some AmazingFeature') - 推到分支(
git push origin feature/AmazingFeature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
版权所有©2023-2024泰迪·范·杰瑞(赵武琼)
⭐ 星迹

📱 关注我们

