c69ec1eecbc1e3f88465d28b5da83c0bce83d700
- Re-raise worker futures in as_completed to surface thread exceptions - Replace hardcoded extension set with ALLOWED_EXT constant in compress_with_caesium - Initialise work_dir/scratch_dir to None before try block to prevent NameError in finally - Remove unused dead function get_slide_numbers_for_image - Simplify redundant caesium_threads guard (threads and threads > 1 -> threads > 1) - Write [Content_Types].xml first in ZIP to satisfy OOXML spec Co-Authored-By: Abacus.AI CLI <agent@abacus.ai>
PPTX Image Compressor (CaesiumCLT only)
Version 1.1.6
Dieses Paket enthält:
PPTX-Image-Compressor/
├─ README.md
├─ install_and_run.bat
├─ pptx_image_compress.py
├─ bin/
│ └─ caesiumclt.exe
Schnellstart (ohne Admin-Rechte)
- Doppelklicke
install_and_run.batoder rufe es in CMD/PowerShell auf, z. B.:
Single
install_and_run.bat -i "C:\Slides\Deck.pptx" -t 8 -q 90
Batch
install_and_run.bat -i "C:\Slides\*.pptx" -O "C:\Slides\out" -t 8 -q 85
install_and_run.bat --input-dir "C:\Slides" --recursive -O "C:\Slides\out" -q 80
Die Batch lädt bei Bedarf automatisch das Windows Embeddable Python Package, entpackt es lokal und führt das Tool aus.
Was das Tool macht
- Entpackt die PPTX in einen Temp‑Ordner
- Komprimiert JPG/JPEG, PNG, WebP, GIF mit CaesiumCLT (Default
-q 90,-O bigger) - Ersetzt Bilder nur, wenn die komprimierte Datei kleiner ist
- Ersetzt Bilder nur, wenn sei mindestens 2% kleiner sind (verhindert doppelte Komprimierung)
- Schreibt ein CSV‑Log (
.logneben der Output‑PPTX) - Baut eine neue PPTX und zeigt eine Summary (Name, Größe vorher/nachher, Ersparnis %, Zeit)
- Räumt alle temporären Dateien auf (keine Caesium‑Tempfiles in der finalen PPTX)
Hinweise
-tsteuert die Parallelität der Python‑Threads; intern wirdcaesiumclt --threads 1gesetzt, sobald-t > 1, um Oversubscription zu vermeiden. Default ist 16-qsteuert das Qualitätslevel; intern wirdcaesiumclt -qmit diesem Wert von0..100benutzt, Default ist 90--min-savingssteuert das Mindestmass an Komprimierung zur Verhinderung von doppelter Komprimierunt, Default ist 2%- Die Batch verwendet bevorzugt das Embeddable Python neben der BAT; ansonsten sucht sie echte
python.exe/py.exeim PATH, ignoriert aber die Microsoft‑Store‑Alias‑Pfade (WindowsApps).
Manuelle Nutzung des .py (falls Python vorhanden)
python pptx_image_compress.py -i "C:\Pfad\input.pptx" -t 8
Quellen & Tools
- CaesiumCLT – Projekt/Downloads: https://github.com/Lymphatus/caesium-clt
- Windows Embeddable Python Package – Doku/Downloads: https://docs.python.org/3/using/windows.html
Description
Languages
Python
75.1%
Batchfile
24.9%