【悩み】
・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での動作をサポートしています。
よって、今回紹介した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でPowerPointをPDF変換する方法
いかがでしたでしょうか?
上記で紹介した「aspose.slidesライブラリ」を使うことで、PythonでPowerPointをPDFに変換できます。
最後にもう一度内容を確認しましょう。
【おさらい】
・aspose.slidesを使うことでPowerPointをPDFに変換できる
・aspose.slidesを使うとPDFをPowerPointに変換できる
・WindowsだけでなくMaxOSなどでも今回紹介したプログラムを利用できる
本ブログでは、「業務の時短化に繋がるIT技術」や「クラウドやOSSの学び方」などを発信しています。定期的に更新していますので、ぜひブックマークをよろしくお願いいたします。
コメント