将 .pptx 文件解包后对内嵌图片进行有损/无损压缩、用 ffmpeg 压缩内嵌视频、清理冗余元数据,再重新打包,从而减小文件体积。
pip install Pillowbash
python scripts/compress.py <input.pptx> [options]
参数说明默认值input输入 PPTX 文件路径必填-o, --output输出文件路径<input>_compressed.pptx``-l, --level压缩档次: low / medium / high / extreme``medium图片参数--image-quality图片 JPEG 质量 (1-100)由 level 决定--max-width图片最大宽度像素由 level 决定--max-height图片最大高度像素由 level 决定--strip-thumbnail移除文档缩略图由 level 决定--strip-comments移除幻灯片批注false``--convert-png不透明 PNG 转 JPEG由 level 决定--no-convert-png禁止 PNG 转 JPEG-视频参数--video-crf视频 CRF 值 (0-51,越高压缩率越大)由 level 决定--video-scale视频最大短边像素 (如 720、1080)由 level 决定--video-presetx264 编码预设 (ultrafast~veryslow)由 level 决定--no-video跳过视频压缩false
档次JPEG 质量图片尺寸移除缩略图PNG→JPG视频 CRF视频尺寸编码预设low852560px否否23原始mediummedium701920px是是281080pmediumhigh501440px是是32720pslowextreme301024px是是38480pslow
基本压缩(medium 档):
bash
python scripts/compress.py "报告.pptx"
高压缩档:
bash
python scripts/compress.py "报告.pptx" -l high -o "报告_小.pptx"
跳过视频只压图片:
bash
python scripts/compress.py "报告.pptx" -l medium --no-video
自定义视频参数:
bash
python scripts/compress.py "报告.pptx" --video-crf 30 --video-scale 720 --video-preset slow
若系统未安装 ffmpeg,脚本运行时会跳过视频并输出安装方法:
winget install Gyan.FFmpeg 或 scoop install ffmpeg 或 choco install ffmpegbrew install ffmpegsudo apt install ffmpeg (Debian/Ubuntu)