Files
pptopic/README.md

226 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# pptopic 说明
将 PowerPoint 演示文稿导出为长图的工具。
## 功能
- 将 PPTX 文件的所有幻灯片垂直拼接为一张长图
- 支持 JPG 和 PNG 格式输出
- 支持自定义输出宽度和目录
- 内置图片优化功能,使用图片优化引擎进行无损压缩
## 系统要求
- Windows 系统(使用 win32com 调用 PowerPoint
- Python >= 3.13
- Microsoft PowerPoint
## 新手使用说明
如果你是第一次使用命令行工具,请按以下步骤操作。
### 准备工作
- **PowerPoint**:需要安装 Microsoft PowerPointOffice 2016 或更新版本)
- **网络连接**:安装过程中需要下载工具
- **理解命令行工具**:你需要理解命令行的基本操作,包括文件路径、参数传递等。
### PowerShell的基本知识
PowerShell在Windows中是自带的所以一般情况下无需额外安装。如果你不知道如何打开可以在开始菜单搜索 "PowerShell",通常就能看见,点击后即可打开。
在PowerShell中跳转目录只需要输入 `cd` 加上目录路径即可。目录路径可以从资源管理器中在地址栏中复制。如果你的目录路径中包含空格,需要在路径中添加引号。
```powershell
# 这是一个例子
cd "C:\Users\User SomeX\Desktop\OneFolder"
```
### 第一步:安装 uv
`uv` 是一个 Python 包管理器,用来安装 pptopic 及其依赖。
打开 PowerShell在开始菜单搜索 "PowerShell"),进入本项目的目录:
```powershell
cd "<你的解压目录>\pptopic"
```
赋予PowerShell执行权限
```powershell
Set-ExecutionPolicy Bypass -Scope CurrentUser
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```
运行项目自带的安装脚本:
```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
```
### 第三步(可选):安装 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`
### 第四步安装pptopic
```powershell
uv tool install -e .
```
### 第六步:开始使用
```powershell
# 导出 PPTX 为长图
pptopic export presentation.pptx
# 优化图片
pptopic optimize image.png
# 工作中常用命令:导出 PPTX 为长图并优化图片
# 其中29999是微信接受的最大高度
pptopic export presentation.pptx --optimize --max-height 29999 -o result.png
```
至此安装完成。如果任何步骤遇到问题,请参考下方详细说明。
## 一般安装说明
### 安装 uv
使用项目自带的安装脚本(推荐):
```powershell
.\uv-installer.ps1
```
该脚本自动检测 uv 最新版本,支持国内 GitHub 加速镜像下载(`mirror.ghproxy.com``ghproxy.net`),并自动将 uv 添加到系统 PATH。
也可以通过 scoop 安装:
```bash
scoop install uv
```
或者使用官方提供的安装脚本:
```bash
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
```
请注意,上述脚本都需要相关的脚本运行权限,否则无法正常运行,一般如下操作即可获取相关权限:
```powershell
Set-ExecutionPolicy Bypass -Scope CurrentUser
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
```
### 安装 pptopic
```bash
git clone https://git.lyz.one/SidneyZhang/pptopic.git
cd pptopic
uv tool install -e .
```
## 使用
### 导出 PPTX 为长图
```bash
# 基本用法
pptopic export presentation.pptx
# 详细说明
pptopic export --help
```
### 单独优化图片
```bash
# 优化图片
pptopic optimize image.png
# 详细说明
pptopic optimize --help
```
## 图片优化
为了获得最佳的图片压缩效果,推荐使用 [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