199 lines
4.3 KiB
Markdown
199 lines
4.3 KiB
Markdown
# pptopic
|
||
|
||
将 PowerPoint 演示文稿导出为长图的工具。
|
||
|
||
## 功能
|
||
|
||
- 将 PPTX 文件的所有幻灯片垂直拼接为一张长图
|
||
- 支持 JPG 和 PNG 格式输出
|
||
- 支持自定义输出宽度和目录
|
||
- 内置图片优化功能,使用图片优化引擎进行无损压缩
|
||
|
||
## 新手使用说明
|
||
|
||
如果你是第一次使用命令行工具,请按以下步骤操作。
|
||
|
||
### 准备工作
|
||
|
||
- **PowerPoint**:需要安装 Microsoft PowerPoint(Office 2016 或更新版本)
|
||
- **网络连接**:安装过程中需要下载工具
|
||
|
||
### 第一步:安装 uv
|
||
|
||
`uv` 是一个 Python 包管理器,用来安装 pptopic 及其依赖。
|
||
|
||
打开 PowerShell(在开始菜单搜索 "PowerShell"),进入本项目的目录:
|
||
|
||
```powershell
|
||
cd pptopic
|
||
```
|
||
|
||
运行项目自带的安装脚本:
|
||
|
||
```powershell
|
||
.\uv-installer.ps1
|
||
```
|
||
|
||
该脚本会自动下载最新版本的 uv 并添加到系统 PATH。如果你在中国大陆,脚本已内置 GitHub 加速镜像,无需额外配置。
|
||
|
||
安装完成后,**关闭并重新打开 PowerShell**,验证安装:
|
||
|
||
```powershell
|
||
uv --version
|
||
```
|
||
|
||
> 如果你已安装 [scoop](https://scoop.sh/),也可以直接 `scoop install uv`。
|
||
> 如果想安装特定版本的 uv,可以在运行脚本前设置环境变量:`$env:UV_INSTALLER_VERSION = "0.11.20"`
|
||
|
||
### 第二步:安装 Python
|
||
|
||
使用 uv 安装 Python 3.13 或更新版本:
|
||
|
||
```powershell
|
||
uv python install 3.13
|
||
```
|
||
|
||
### 第三步:安装 pptopic
|
||
|
||
```powershell
|
||
uv pip install -e .
|
||
```
|
||
|
||
### 第四步(可选):安装 pngquant 图片优化工具
|
||
|
||
虽然是可选安装,但我超级建议你安装,因为ppt导出后,图片通常较大,不进行图片无损压缩,会导致文件大小过大。
|
||
|
||
如果你需要对导出的图片进行压缩优化,运行:
|
||
|
||
```powershell
|
||
.\install-pngquant.ps1
|
||
```
|
||
|
||
该脚本会:
|
||
1. 如果你已安装 scoop → 通过 scoop 安装 pngquant
|
||
2. 如果没有 scoop → 自动下载并安装到 `%APPDATA%\pngquant`,并添加到 PATH
|
||
|
||
安装完成后,**重新打开 PowerShell**,验证安装:
|
||
|
||
```powershell
|
||
pngquant --version
|
||
```
|
||
|
||
> 自定义安装目录:`.\install-pngquant.ps1 -InstallDir "D:\Tools\pngquant"`
|
||
> 强制重新安装:`.\install-pngquant.ps1 -Force`
|
||
|
||
### 第五步:开始使用
|
||
|
||
```powershell
|
||
# 导出 PPTX 为长图
|
||
pptopic export presentation.pptx
|
||
|
||
# 优化图片
|
||
pptopic optimize image.png
|
||
```
|
||
|
||
至此安装完成。如果任何步骤遇到问题,请参考下方详细说明。
|
||
|
||
## 安装
|
||
|
||
### 安装 uv
|
||
|
||
使用项目自带的安装脚本(推荐):
|
||
|
||
```powershell
|
||
.\uv-installer.ps1
|
||
```
|
||
|
||
该脚本自动检测 uv 最新版本,支持国内 GitHub 加速镜像下载(`mirror.ghproxy.com`、`ghproxy.net`),并自动将 uv 添加到系统 PATH。
|
||
|
||
也可以通过 scoop 安装:
|
||
|
||
```bash
|
||
scoop install uv
|
||
```
|
||
|
||
### 安装 pptopic
|
||
|
||
```bash
|
||
cd pptopic
|
||
uv sync
|
||
uv pip install -e .
|
||
```
|
||
|
||
## 使用
|
||
|
||
### 导出 PPTX 为长图
|
||
|
||
```bash
|
||
# 基本用法
|
||
pptopic export presentation.pptx
|
||
|
||
# 指定输出文件名
|
||
pptopic export presentation.pptx --output result.png
|
||
|
||
# 优化导出的图片
|
||
pptopic export presentation.pptx --optimize -o result.png
|
||
|
||
# 自定义宽度和最大高度
|
||
pptopic export presentation.pptx --width 1080 --optimize --max-height 20000
|
||
```
|
||
|
||
### 单独优化图片
|
||
|
||
```bash
|
||
# 优化图片
|
||
pptopic optimize image.png
|
||
|
||
# 指定输出文件
|
||
pptopic optimize image.png --output optimized.png
|
||
|
||
# 自定义优化参数
|
||
pptopic optimize image.png --max-height 20000 --engine pngquant
|
||
```
|
||
|
||
## 系统要求
|
||
|
||
- Windows 系统(使用 win32com 调用 PowerPoint)
|
||
- Python >= 3.13
|
||
- Microsoft PowerPoint
|
||
|
||
## 图片优化
|
||
|
||
为了获得最佳的图片压缩效果,推荐使用 [pngquant](https://pngquant.org/) 进行图片压缩。
|
||
|
||
### 自动安装脚本
|
||
|
||
使用提供的 PowerShell 脚本安装 pngquant:
|
||
|
||
```powershell
|
||
.\install-pngquant.ps1
|
||
```
|
||
|
||
该脚本支持两种安装方式:
|
||
|
||
1. **已安装 scoop** → 通过 `scoop install pngquant` 安装
|
||
2. **未安装 scoop** → 从 pngquant 官网下载并安装到 `%APPDATA%\pngquant`,自动添加到 PATH
|
||
|
||
```powershell
|
||
# 自定义安装目录
|
||
.\install-pngquant.ps1 -InstallDir "D:\Tools\pngquant"
|
||
|
||
# 强制重新安装
|
||
.\install-pngquant.ps1 -Force
|
||
|
||
# 不修改 PATH
|
||
.\install-pngquant.ps1 -NoModifyPath
|
||
```
|
||
|
||
### 手动安装
|
||
|
||
```bash
|
||
scoop install pngquant
|
||
```
|
||
|
||
或从 [pngquant.org](https://pngquant.org/) 下载 Windows 版本手动配置。
|
||
|
||
## License
|
||
|
||
MIT License
|