トップ «前の日記(2009-11-23) 最新 次の日記(2009-11-26)» 月表示 編集

日々の流転


2009-11-24 [長年日記]

λ. PrimoPDFでPowerPointファイルをPDF化する際に余白を消す方法

Powerpointのスライドを人に渡すときや、Slideshareで公開する際にPDFに変換したいことはよくある。Powerpoint 2007 以降なら Microsoft の出しているプラグインを使えばいいし、Acrobatを持っていればそれを使えばいいと思う。 それらがない場合にはPrimoPDFなどを使ってPDF化することになるのだけど、PrimoPDFで普通にPDF化したら余計な余白がついてしまって困っていた。その消し方がわかったのでメモ。

まず、Powerpointのデフォルトのスライドのサイズは幅25.4cm, 高さ19.05cmになっているはず。 これはページ設定のダイアログで確認できる。

なので、用紙をこれにあわせて設定すれば良いだけ。 印刷時に「印刷」ダイアログのプリンタの「プロパティ」から、「PrimoPDF のドキュメントのプロパティ」というダイアログを開いて、「詳細設定(V)…」を選択すると、「PrimoPDF 詳細オプション」というダイアログが開かれる。

ここで、「PrimoPDF 詳細なドキュメントの設定 > 用紙/出力 > 用紙サイズ」で「Postscript Custom Page Size」を選ぶ。 「Postscript Custom Page Size Definition」というダイアログが開かれるので、「Unit」をMillimeterにして、「Custom Page Size Dimensions」で、さっきのスライドのサイズの縦横を入れ替えた Width: 190.50 、Height: 254.00 に設定する。 なぜ入れ替えているかというと、Powerpoint は横長の用紙であっても印刷内容を90度回転して印刷しようとするため。

で、戻って印刷すると、今度は「PrimoPDF by Nitro PDF Software」という、PDFの生成オプションを設定するダイアログが出てくる。 どれを選んでも余計な余白のないPDFが生成される。

ただし、ここで「Print」「eBook」「Prepress」を選択した場合には90度回転されたPDFが生成されてしまう。これを避けるには「Screen」にするか、または「Custom」を選び「Auto-rotate Pages」を選択する。 もしくは、一度回転した状態のPDFを生成しておいて、RotPDF等の別ツールで回転させて直す。

……とスクリーンショットまで用意して書いてみたものの、絶対にもっと簡単な方法がありそうだよなぁ。 一応、こないだの「自然言語をラムダ式で解釈する体系PTQのHaskell実装」のスライドはこの方法でPDF化してみたのだけど。