Once and a while I have to create PDF’s out of my PowerPoint presentations. The same a couple of weeks ago when I finished my presentation on Oracle Transparent Sensitive Data Protection at the SOUG day in Baden-Dättwill. I prefer to do this with a minimal amount of extra tools. So no AcrobatReader, GostScript etc. The built-in functionality for printing and saving as PDF is generally sufficient. However, from time to time the output gets quite large. Ok, I could reduce the images size in my PowerPoint presentations. But then I’ll either have low quality images in my presentation or I have to maintain two presentation files, one for high quality and the other for distribution.
One could now object that nowadays space is no longer a problem. Yes, yes, “space, the final frontier…” 🙂 But that’s an other story. It is still handy to have PDF with a reasonable size. The PowerPoint file for the SOUG presentation is not too large (7.8 MB). But the generated PDF is an impressive 24MB.
Workflow to generate a PDF file out of PowerPoint document:
- Create PDF using PowerPoint Print/Save as PDF…
- Open PDF using MacOS Preview and export using quarz filter to reize
Resizing PDF’s can be done out of the box with MacOS Preview. Just use the menu File/Export… and select the quarry filter to resize the document. (See picture)
The resulting PDF file is small enough (approx. 4MB). But the image quality is way below optimal. Images with fine details, font etc. are reduced too much, so that details are only poorly visible. This is due to how the default quartz filter optimise the images. The compression quality and ImageSizeMax are rather “comprehensive”. But it is an easy task to create some custom Quartz filters for a less intense compression. Just take the default Quarz filter definition file as a template.
Create a new folder for the user defined filters:
mkdir $HOME/Library/Filters
Create new files for good, better and best image compression:
cp "/System/Library/Filters/Reduce File Size.qfilter" \ $HOME/Library/Filters/reduce_file_size_good.qfilter cp "/System/Library/Filters/Reduce File Size.qfilter" \ $HOME/Library/Filters/reduce_file_size_better.qfilter cp "/System/Library/Filters/Reduce File Size.qfilter" \ $HOME/Library/Filters/reduce_file_size_best.qfilter
Edit the three files with your favourite text editor and adjust the values for Compression Quality, ImageSizeMax and Name for the filter. For my three levels I do use the following values.
Name | Compression Quality | ImageSizeMax | File |
---|---|---|---|
Reduce File Size Good | 0.25 | 842 | reduce_file_size_good.qfilter |
Reduce File Size Better | 0.5 | 1684 | reduce_file_size_better.qfilter |
Reduce File Size Best | 0.75 | 3508 | reduce_file_size_best.qfilter |
See also the excerpt from one of the Quartz filter files:
... <key>ImageSettings</key> <dict> <key>Compression Quality</key> <real>0.75</real> <key>ImageCompression</key> <string>ImageJPEGCompress</string> <key>ImageScaleSettings</key> </dict> <dict> <key>ImageScaleFactor</key> <real>0.5</real> <key>ImageScaleInterpolate</key> <true></true> <key>ImageSizeMax</key> <integer>3508</integer> <key>ImageSizeMin</key> <integer>128</integer> ... <key>FilterType</key> <integer>1</integer> <key>Name</key> <string>Reduce File Size Best</string>
The next time you start Preview and export a PDF you see the new Quarz filters. For the presentation on Oracle Transparent Sensitive Data Protection and its PDF with 24MB I did use the filter for better image quality. The resulting PDF is about 4.4MB and the graphics for the maximum data security architecture (MDSA) still have an acceptable quality.
As you can see from the links below, I didn’t think that up myself. Any way, this post is more a summary and a personal note for the next time I have to export a PDF.
Files and References
Below you find a few references related to reduce file size of PDF using preview including my Quarz filter files:
- Quarz Filter files for good, better and best ( quarz_filters.zip)
- OSX Daily post on Reduce the File Size of PDF Documents with Preview in Mac OS X
- MacWorld post on Shrink Preview files without ruining image quality
Just got a hint from a workmate. It seems that $HOME/Library/Filters does not yet work on all MacOS versions. In older releases you may have to put the Quarz Filters into /Library/Filters To do this you have to use sudo cp since only root is allowed to put stuff into the global Library folder.