【5分でわかる】PythonでPowerPointをPDF変換する方法

 

【悩み】
・PowerPoint配布時にレイアウトが崩れるからPDFで渡したい。
・大量のPowerPointをPDF化する必要がある。
・Pythonを使えば大量のPowerPointを簡単にPDFに変換できる?



こういった「悩み」に答えます。
 

【本記事の内容】
① PowerPointをPDFに変換できるPythonライブラリ
➁ ライブラリインストールなどの準備
➂ PowerPointをPDF変換
④ PDFをPowerPointに変換
⑤ PowerPointをPDF変換する際の注意点と補足



本記事に掲載した手順を実践したことで、5分以内でPythonを使ってパワーポイントをPDFに変換できました(下の動画参照)。
 



記事の前半では「PowerPointをPDF変換するために必要なPythonライブラリのインストール方法」を解説します。

記事の後半では「PDFに変換するPythonプログラム」と「PDFをPowerPointに変換するPythonプログラム」を紹介します。
 

この記事を読み終えることで、「お手元にある大量のPowerPointを開かずにすぐにPDF化できる」状態になります。
 

ちなみに、Pythonを使うことで本記事で紹介すること以外にも様々なPowerPointの操作を自動化できます。以下に実現できる範囲をまとめましたので、良ければアクセスしてみてください。

>> Pythonで実現できるPowerPointの操作一覧


 

PowerPointをPDFに変換できるPythonライブラリ


PythonでPowerPointをPDFに変換したい場合、「aspose.slides」ライブラリを使います。

以下の記事でライセンスや概要をご紹介しています。気になる方は、ぜひ読んでみてください。

>> 【5分でわかる】PythonでPowerPointの新規作成操作を自動化

 

以降で、PowerPointをPDF変換するための環境準備を説明します。Pythonやライブラリのインストール手順を丁寧に解説しますね。


 

ライブラリインストールなどの準備


以下の流れで準備しましょう。
 

【流れ】
手順1:Pythonのインストール
手順2:aspose.slidesライブラリのインストール



以降で、上記の各項目を説明します。
 

Pythonのインストール

以下の記事を参考にし、お使いのパソコンやサーバーにPythonをインストールしましょう。

>> 【ubuntu向け】pyenvでPythonをインストールする手順【簡単】

>> 【コピペOK】pyenvでPythonをインストールする手順【Linux用】

>> 【最短5分】PyAutoGUIをWindowsにインストールする手順の「手順1:Pythonのインストール」を参照

>> 【環境構築】インストーラーでMacOSにPythonをインストール

 

aspose.slidesライブラリのインストール

aspose.slidesライブラリのインストール手順に関しては、以下の記事の「aspose.slidesライブラリのインストール」箇所をご覧ください。

>> 【5分でわかる】PythonでPowerPointの編集操作を自動化


 

以降で、aspose.slidesを使ってPowerPointをPDFに変換するPythonプログラムの例を紹介します。


 

以降のプログラムでは、以下のスライド「sample.pptx」を用いて解説します。


 

PowerPointをPDFに変換


PowerPointの各スライドをPDFに変換するPythonプログラムは、以下となります。適宜変更部分は自分用に書き換えてください。

import aspose.slides as slides
import aspose.pydrawing as drawing

# 対象パワーポイントの読み込み(適宜変更)
with slides.Presentation("./input/sample.pptx") as presentation:
    # PDF化して保存
    presentation.save("./output/sample.pdf", slides.export.SaveFormat.PDF)



上記のプログラムを「python-powerpoint-pdf-convert.py」というファイル名で保存しましょう。
   

【PDF変換の関数リファレンス】
・書き方
 save(PDFのファイル名, slides.export.SaveFormat.PDF)
・処理
 指定したファイル名でパワーポイントをPDF変換し保存



以下のコマンドを実行し、保存したプログラムを実行します。

python python-powerpoint-pdf-convert.py



コマンド実行後、PDFファイルが生成された場合、正常にPowerPointをPDFに変換できたと判断できます。

上記プログラムは、ファイル拡張子「ppt」でも正常動作します。

ちなみに、本ライブラリは商用ライブラリであるため、背景の刻印を消したい場合は、以下から購入する必要があります。

>> aspose.slidesの購入または一時ライセンスを取得(公式サイト)
  

aspose.slidesライブラリを使うことで、簡単にパワーポイントをPDF変換してファイル保存できます。


 

PDFをPowerPointに変換


PDFをPowerPointに変換するPythonプログラムは、以下となります。適宜変更部分は自分用に書き換えてください。

import aspose.slides as slides
import aspose.pydrawing as drawing
        
with slides.Presentation() as pres:
    pres.slides.add_from_pdf("./input/sample.pdf") # PPTXにしたいPDFの読み込み(適宜変更)
    pres.save("./output/sample.pptx", slides.export.SaveFormat.PPT) # PPTXとして保存



上記のプログラムを「python-pdf-to-powerpoint.py」というファイル名で保存しましょう。
   

【PDFからパワーポイントに変換する関数リファレンス】
・書き方
 add_from_pdf(PDFファイルのPATH)
・処理
 指定したPDFファイルをパワーポイントに変換



以下のコマンドを実行し、保存したプログラムを実行します。

python python-pdf-to-powerpoint.py



コマンド実行後、指定したPDFファイルをPowerPointに変換できます。

ちなみに、上記プログラムは、ファイル拡張子「ppt」でも正常動作します。

 

aspose.slidesライブラリを使うことで、PDFファイルを簡単にパワーポイントに変換できます。


 

PowerPointをPDF変換する際の注意点と補足


今回ご紹介したPythonでPowerPointを画像変換の注意点と補足として以下があります。
 

・aspose.slidesはWindows/Linux/MacOSで利用できる
・aspose.slidesを使ったPDF変換はPowerPoint未インストールでもできる
・特定スライドのみPDF変換もできる
・フォルダ内の全PowerPointファイルをPDF変換できる



以降で、上記に関して解説します。
 

aspose.slidesはWindows/Linux/MacOSで利用できる

以下の公式サイトページより、aspose.slidesはWindows、Linux、MacOSでの動作をサポートしています。

>> 動作保証しているOSの一覧(公式サイト)
 



よって、今回紹介したPowerPointをPDFに変換するプログラムは、多くのOSで動作します。
 

ちなみに、以下の記事で紹介されているpywin32を使ったプログラムだと、Windows環境でしか動作しません。

>> pywin32ライブラリを使いパワーポイントをPDFに変換する方法
 

aspose.slidesを使ったPDF変換はPowerPoint未インストールでもできる

aspose.slidesライブラリを使ったPDF変換は、プログラムを実行するパソコン内にPowerPointが導入されていない状況でも正常動作します。

一方、pywin32ライブラリを使ったPDF変換プログラムは、プログラムを実行するパソコン内にPowerPointが導入されていないと動作しません。
 

特定スライドのみPDF変換もできる

以下のプログラム実行により、特定スライドのみPDFに変換もできます。

import aspose.slides as slides
import aspose.pydrawing as drawing

# PDF化したいスライドの番号
want_convert_slide_num = 2

with slides.Presentation("./input/sample.pptx") as presentation:
    # 指定スライド以外を削除
    for num in range(0,len(presentation.slides)):
      if want_convert_slide_num != num:
        presentation.slides.remove_at(num)
    
    presentation.save("./output/sample.pdf", slides.export.SaveFormat.PDF)



上記のプログラムにより、2枚目のスライドのみをPDFに変換できます。
 

フォルダ内の全PowerPointファイルをPDF変換できる

以下のプログラム実行により、あるフォルダ内にあるPowerPoint全てをPDF変換できます。

import aspose.slides as slides
import aspose.pydrawing as drawing
import glob
import os

# フォルダ内にあるファイル一覧を取得
files = glob.glob(r"C:\Users\user\Desktop\work\tmp\fess\document\*")

for file in files:
    # ファイル名を取得
    basename = os.path.basename(filepath)

    # 拡張子がpptx以外は無視
    if 'pptx' not in basename:
      continue

    # 拡張子を除外したファイル名を取得
    name = basename.split('pptx')[0]

    # パワーポイントの読み込み
    pres = slides.Presentation(file)

    # PDFとして保存
    pres.save(f"{name}.pdf", slides.export.SaveFormat.PDF)


 

以上が、筆者が実際に使ってみて注意するべき点だと感じた部分でした。本ライブラリを使うことで簡単にPDF変換できるのでぜひ使ってみてください。



Pythonを使うことで、PowerPointから画像を自動で抽出できることを説明しました。このPythonを使うことで、あらゆる業務や作業を自動化できます。
その事例やヒントを知りたい方には、以下の本がオススメです。

 



ちなみに、上記教材の詳細なレビューに関しては、以下のサイトにまとめています。

>> 退屈なことはPythonにやらせようのレビュー


 

【まとめ】PythonでPowerPointをPDF変換する方法


いかがでしたでしょうか?

上記で紹介した「aspose.slidesライブラリ」を使うことで、PythonでPowerPointをPDFに変換できます。

最後にもう一度内容を確認しましょう。
 

【おさらい】
・aspose.slidesを使うことでPowerPointをPDFに変換できる
・aspose.slidesを使うとPDFをPowerPointに変換できる
・WindowsだけでなくMaxOSなどでも今回紹介したプログラムを利用できる



本ブログでは、「業務の時短化に繋がるIT技術」や「クラウドやOSSの学び方」などを発信しています。定期的に更新していますので、ぜひブックマークをよろしくお願いいたします。

>> IT技術やその学び方を発信しているサイト「駆け出し物語」(本ブログ)
 

コメント