site site-navbranch.xsl site

Skip to main content.

Looking for PowerPoint and/or Google Analytics solutions? Please follow the above links to ShufflePoint.com.

section no_callout.xsl no_callout

page static_html.xsl b2004_11_22

Batch compressing PowerPoint presentations

PowerPoint presentations can get huge. And the culprit is usually the graphics. If your ten slide presentation is several megabytes in size, emailing and downloading this presentation will be burdensome for your users. After receiving such a PPT myself, I opened it up to find that the graphics had been imported as bitmaps. PowerPoint is not smart enought to convert them to a more efficient storage format.

The newer versions of PowerPoint have a clumsy mechanism for compressing a presentation (Microsoft: put it in the save as dialog). I expect that 99% of users don't even know it exists.

So anyway, I wanted to explore in this article a script to batch compress all of the PowerPoints in a folder and its subfolders. This was pretty easiy to accomplish in a couple hours of programming. One thing that made it easy was the use of John Cassidy's folderwalker class. My processFile function iterates the slides and then shapes. Each shape which is a picture is saved as a JPG and then reimported to the original location and z-order.

Try this script out on some of your large PPTs. There is a script flag /r which if specified will run in replace mode. Without this flag, new PPT files will be created which will have the suffix "_c" (for compressed).

So what does this have to do with OLAP? Nothing.

downloads: compressppt.zip (4K)