Beamerのスライドをpptxへ変換する

closeこれは 1 年 8 ヶ月 11 日 前に投稿されたものです。最新のものではありませんので、間違っているかも知れません。

スライドを作る際、私はBeamerを使います。
しかし、残念ながら「スライド といえば PowerPoint」という認識が一般的です。
そのため、発表の際「PowerPointで開けるファイルを事前に渡せ、PDFは認めない」と言われることも少なくありません。

そこで、PDFを「分解し画像化、PowerPointのファイルに貼り付ける」という方法で、pptxに変換してみます。
また、「2x3で配布資料を作れ」と言われた際の対策のため、その形式の配布資料も作ってみます。

pptxへの変換

こんな感じです。

pdf2odp slide.pdf
libreoffice -headless --convert-to pptx slide.odp

pdf2odpコマンドでは、「PDFを分解して画像にする」、それを「odpのスライドに貼り付ける」処理を行っています。
また、libreofficeコマンドにて、作成されたodpファイルをpptxへ変換しています。

これを実行すると、こんな感じになります。
powerpoint

pdf2odpでは解像度の指定ができなかったり、わざわざodpにしなくとも、少し工夫すれば直接pptxファイルに出来る気がします。
ただ、pdf2opdは単なるPythonスクリプトでソースコードがいくらでもいじれることと、別にこの方法でもうまくいっているので、良しとします。

配布資料の作り方

pdfnupというコマンドを使います。2x3の配布資料を作るのは、こんな感じです。

pdfnup --paper a4paper --no-landscape --scale 0.9 --nup 2x3 --frame true --delta "5mm 20mm" input.pdf --outfile handout.pdf

ヘルプを見なくてもだいたい分かると思います。

実行結果はこんな感じです。
handout
PowerPointでの結果はこんな感じです。
powerpoint-handout
ほぼ同じですね。違いは、若干のサイズと、日付とページ番号が有るか無いかくらいでしょうか。

おわりに

Beamerのスライドをpptxへ変換する方法と、配布資料を作成する方法について示しました。
私は、これらコマンドをMakefileに書いていますが、割りと使えます。

また、この記事とは一切関係ありませんが、BeamerのスライドやLaTeXファイルをコンパイルする際、latexmkを使えば楽そうです。
しかし、私はまだ使ってことがないので、将来使ってみようと思いました○。

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>