Convert your (Beamer) PDF slides to (Powerpoint) PPTX
So you don't like using Powerpoint and would rather use Latex/Beamer to make your slides, however, you have a fancy Surface and you want to use the pen during the presentation? Here is my solution.
This script gets a PDF file as input and generates a Powerpoint PPTX file while preserving the format of the original PDF. Theoretically all PDF files, regardless of the original generator, can be converted to PPTX slides with this (not tested though).
Simply explained, I convert all the slides to high-quality image files first, and then push them into a Powerpoint project as a slide.
- Copy your pdf file next to the script first.
- Execute
./pdf2pptx.sh test.pdf
to generate atest.pdf.pptx
file (replacetest.pdf
with your filename). - By default the output powerpoint project is in the widescreen mode. If your slides are not for widescreen you can alternatively run
./pdf2pptx.sh test.pdf notwide
to generate a 4:3 standard PPTX project.
- You need
convert
from [ImageMagick] (http://www.imagemagick.org/script/binary-releases.php) zip
andsed
If you're using Linux you probably already have all the above.
If you're using OSX you need to install ImageMagick and make sure convert
is accessible from your Terminal. You may also want to take a look here regarding an issue that shows up on OSX and its fix.
If you're using Windows you can use Cygwin, but if you don't have it already, it is not recommended! An alternative solution for Windows users is to access a linux box (such as your university servers) to take care of the task.
ImageMagick no longer allows PDF to image conversion. If you get the following error on the test example:
Doing test.pdf
convert: not authorized `test.pdf' @ error/constitute.c/ReadImage/412.
convert: no images defined `./test.pdf.temp/slide.png' @ error/convert.c/ConvertImageCommand/3210.
Error with extraction
in /etc/ImageMagick-6/policy.xml
or /etc/ImageMagick/policy.xml
(/usr/local/Cellar/imagemagick/7.0.7-4/etc/ImageMagick-7/policy.xml
for MacOS & brew), change:
<policy domain="coder" rights="none" pattern="PDF" />
to
<policy domain="coder" rights="read" pattern="PDF" />
Now it should work. Note that modifying the policy file would require root
privileges. If you do not have root access on your machine, you can alternatively compile and use an older version of ImageMagick.
Thanks to Melissa O'Neill for providing a Pdf2Keynote tool for mac which has motivated this small project!