Files
pptopic/README.md

8.2 KiB
Raw Blame History

pptopic 说明

将 PowerPoint 演示文稿导出为长图的工具。

功能

  • 将 PPTX 文件的所有幻灯片垂直拼接为一张长图
  • 支持 JPG 和 PNG 格式输出
  • 支持自定义输出宽度和目录
  • 内置图片优化功能,使用图片优化引擎进行无损压缩

系统要求

  • Windows 系统(使用 win32com 调用 PowerPoint
  • Python >= 3.13
  • Microsoft PowerPoint

新手使用说明

如果你是第一次使用命令行工具,请按以下步骤操作。我们提供了一键安装脚本,尽量让你少输入命令。

安装前准备

  • PowerPoint:需要安装 Microsoft PowerPointOffice 2016 或更新版本)
  • 网络连接:安装过程中需要下载工具
  • 解压项目:把下载的 pptopic.zip 解压到任意位置,例如桌面

一键安装(推荐)

项目根目录下有一个 setup.bat,它会自动完成:

  1. 安装 uvPython 包管理器)
  2. 安装 Python 3.13
  3. 安装 pngquant(图片压缩工具,强烈推荐)
  4. 安装 pptopic
  5. 验证安装结果

方法 A双击运行最简单

  1. 打开解压后的 pptopic 文件夹
  2. 找到 setup.bat 文件
  3. 双击 setup.bat
  4. 等待安装完成,窗口会显示版本信息

如果 Windows 提示“Windows 已保护你的电脑”,请点击“更多信息” → “仍要运行”。

方法 B右键在 PowerShell 中运行

如果双击运行被系统拦截,可以按以下步骤:

  1. 打开解压后的 pptopic 文件夹
  2. 在文件夹空白处按住 Shift 键,同时点击鼠标右键
  3. 选择“在此处打开 PowerShell 窗口”Windows 11 可能显示为“在终端中打开”)
  4. 在弹出的蓝色窗口中输入以下命令,然后按回车:
.\setup.bat

等待安装完成即可。

安装完成后

如果看到类似下面的输出,说明安装成功:

--- uv 版本 ---
uv 0.11.20

--- pngquant 版本 ---
2.17.0

--- pptopic 版本 ---
pptopic 0.3.2

然后你可以直接在当前窗口使用 pptopic

# 导出 PPTX 为长图
pptopic export presentation.pptx

# 工作中常用命令:导出 PPTX 为长图并优化图片
# 其中29999 是微信接受的最大高度
pptopic export presentation.pptx --optimize --max-height 29999 -o result.png

一键安装脚本的参数(可选)

如果你不想安装 pngquant可以使用以下方式运行

# 在 PowerShell 中直接运行 setup.ps1跳过 pngquant
powershell -ExecutionPolicy Bypass -File .\setup.ps1 -SkipPngquant

其他可用参数:

  • -SkipPngquant:跳过 pngquant 安装
  • -Force:强制重新安装 uv 和 pngquant
  • -SkipPptopicInstall:只安装环境,不安装 pptopic

手动安装(备用)

如果一键安装脚本在你的电脑上无法运行,可以按以下步骤手动安装。

第一步:安装 uv

uv 是一个 Python 包管理器,用来安装 pptopic 及其依赖。

打开 PowerShell在开始菜单搜索 "PowerShell"),进入本项目的目录:

cd "<你的解压目录>\pptopic"

赋予 PowerShell 执行权限:

Set-ExecutionPolicy Bypass -Scope CurrentUser
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

运行项目自带的安装脚本:

.\uv-installer.ps1

该脚本会自动下载最新版本的 uv 并添加到系统 PATH。如果你在中国大陆脚本已内置 GitHub 加速镜像,无需额外配置。

安装完成后,关闭并重新打开 PowerShell,验证安装:

uv --version
  • 如果你已安装 scoop,也可以直接 scoop install uv
  • 如果想安装特定版本的 uv可以在运行脚本前设置环境变量$env:UV_INSTALLER_VERSION = "0.11.20"

第二步:安装 Python

使用 uv 安装 Python 3.13 或更新版本:

uv python install 3.13

第三步(可选):安装 pngquant 图片优化工具

虽然是可选安装,但我超级建议你安装,因为 ppt 导出后,图片通常较大,不进行图片无损压缩,会导致文件大小过大。

如果你需要对导出的图片进行压缩优化,运行:

.\install-pngquant.ps1

该脚本会:

  1. 如果你已安装 scoop → 通过 scoop 安装 pngquant
  2. 如果没有 scoop → 自动下载并安装到 %APPDATA%\pngquant,并添加到 PATH

安装完成后,重新打开 PowerShell,验证安装:

pngquant --version
  • 自定义安装目录:.\install-pngquant.ps1 -InstallDir "D:\Tools\pngquant"
  • 强制重新安装:.\install-pngquant.ps1 -Force

第四步:安装 pptopic

uv tool install -e .

第五步:开始使用

# 导出 PPTX 为长图
pptopic export presentation.pptx

# 优化图片
pptopic optimize image.png

# 工作中常用命令:导出 PPTX 为长图并优化图片
# 其中29999 是微信接受的最大高度
pptopic export presentation.pptx --optimize --max-height 29999 -o result.png

至此安装完成。

一般安装说明

安装 pptopic

git clone https://git.lyz.one/SidneyZhang/pptopic.git
cd pptopic
uv tool install -e .

安装 uv

项目使用 uv 进行安装和项目管理,如果你没有安装,这里提供一个简单的安装指引:

只是简单安装,可以使用项目自带的安装脚本(推荐):

.\uv-installer.ps1

该脚本自动检测 uv 最新版本,支持国内 GitHub 加速镜像下载(mirror.ghproxy.comghproxy.net),并自动将 uv 添加到系统 PATH。

也可以通过 scoop 安装:

scoop install uv

或者使用官方提供的安装脚本:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

请注意,上述脚本都需要相关的脚本运行权限,否则无法正常运行,一般如下操作即可获取相关权限:

Set-ExecutionPolicy Bypass -Scope CurrentUser
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

使用

导出 PPTX 为长图

# 基本用法
pptopic export presentation.pptx

# 详细说明
pptopic export --help

单独优化图片

# 优化图片
pptopic optimize image.png

# 详细说明
pptopic optimize --help

图片优化

为了获得最佳的图片压缩效果,推荐使用 pngquant 进行图片压缩。

安装脚本

可以使用提供的 PowerShell 脚本安装 pngquant

.\install-pngquant.ps1

该脚本支持两种安装方式:

  1. 已安装 scoop → 通过 scoop install pngquant 安装
  2. 未安装 scoop → 从 pngquant 官网下载并安装到 %APPDATA%\pngquant,自动添加到 PATH
# 自定义安装目录
.\install-pngquant.ps1 -InstallDir "D:\Tools\pngquant"

# 强制重新安装
.\install-pngquant.ps1 -Force

# 不修改 PATH ,将无法全局使用这个工具
.\install-pngquant.ps1 -NoModifyPath

也可以直接使用 scoop 安装 pngquant或者手动下载安装。

scoop install pngquant

或从 pngquant.org 下载 Windows 版本手动配置。

常见问题

运行 setup.bat 时提示“无法加载文件,因为在此系统上禁止运行脚本”

这说明当前电脑通过组策略严格限制了脚本执行。setup.bat 已经尝试用 -ExecutionPolicy Bypass 绕过,但仍可能被拦截。

解决方法:使用 方法 B,在 PowerShell 窗口中手动运行:

powershell -ExecutionPolicy Bypass -File .\setup.ps1

不需要以管理员身份运行,本安装脚本只修改当前用户的环境变量。

安装完成后关闭窗口,新窗口中找不到 pptopic 命令

请重新运行一次 setup.bat。如果问题依旧,请检查系统环境变量中的 PATH 是否包含以下目录:

  • %USERPROFILE%\.local\binuv 和 pptopic 的位置)
  • %APPDATA%\pngquantpngquant 的位置)

不想安装 pngquant 怎么办?

可以运行:

powershell -ExecutionPolicy Bypass -File .\setup.ps1 -SkipPngquant

但强烈建议安装,否则导出的长图文件会比较大。

License

MIT License