
【小ネタ】Officeが入ってないLinuxなどのマシンでPowerPointファイルをスライド一枚ずつJPEGファイルに変換する方法
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
こんちには。
データアナリティクス事業本部 機械学習チームの中村(nokomoro3)です。
Officeが入ってないLinuxなどのマシンでPowerPointファイルをスライド一枚ずつJPEGファイルに変換する方法を紹介します。
手順
以下の手順で行います。
- pptxファイルをpdfファイルに変換
- LibreOfficeを使いました
- 実はLibreOfficeであればpptファイルをpptxにすることも可能です(便利!)
- pdfファイルの各ページをJPEGファイルに変換
- Pythonでpdf2imageを使いました
動作環境
WSL(Ubuntu-20.04 LTS)で行います。
環境準備
環境準備は以下を実行すればOKです。
# pptxをpdfに変換するlibreofficeをインストール sudo apt install libreoffice # 日本語フォルトをインストール(※重要) sudo apt install -y fonts-ipafont # フォントを反映(※重要) fc-cache -fv # pdf2imageに必要なので sudo apt install -y poppler-utils # Pythonのライブラリをインストール pip3 install pdf2image
特にフォントの部分は重要で、こちらを実施しないとpdf変換の時点で文字化けが発生します。
やってみる
まずはsample.pptxを準備します。今回は以下の元になったpptxファイルを使用します。
sample.pptxを以下でsample.pdfに変換します。
# pptxをpdfに変換 libreoffice --headless --convert-to pdf ./sample.pptx --outdir .
その後以下のようなpdf2images.pyを作成します。
import pathlib
import pdf2image
pdf_path = pathlib.Path("sample.pdf")
img_path = pathlib.Path("./images")
img_path.mkdir(exist_ok=True, parents=True)
pdf2image.convert_from_path(
pdf_path
, output_folder=img_path
, fmt='jpeg'
, output_file=pdf_path.stem)
最後にPythonファイルを実行します。
python3 pdf2images.py
以下のように各スライドが./images配下にJPEGファイルとして格納されることを確認できました。

まとめ
いかがでしたでしょうか。小ネタですが本記事がご参考になれば幸いです。






