2020-07-11

【備忘録】Matplotlib のプロットを PowerPoint ファイルへ書き出す

PyGObject の GUI 上で Matplotlib を利用して自由にプロットができるようになると、今度は出力結果を利用して PowerPoint ファイルを自動作成できるようにしたくなります。Python の python-pptx というパッケージを利用すれば PowerPoint ファイルを自動作成できるようで、しかも Linux でもこのパッケージを pip コマンドでインストールできましたので、まずは Linux 上で試してみました。

チャートは、本ブログで紹介した SPC チャート [1] をそのまま使うことにします。

本ブログ記事では下記の OS 環境で動作確認をしています。

Fedora 32 (Workstation Edition) x86_64
gtk_matplotlib_3.py

上記スクリプトを実行するには、下記の二種類のファイルが必要になります。PowerPoint のイメージは、ICONFINER からダウンロードしたフリーなアイコンイメージです。著作権者の表示を必要としないライセンスのものを選んだところ、シンプルなアイコンになってしまいました。お好みのイメージに差し替えてください。

あと、テンプレートにする PowerPoint ファイルは LibreOffice の Impress で用意しました。

powerpoint-128.png
template.pptx

プログラムの GUI では PowerPoint のアイコンをクリックすると、チャートを PNG ファイル (chart.png) に出力して、そのファイルを PowerPoint ファイル (output.pptx) に追加したページへ貼り付けます。

gtk_matplotlib_3.py の実行例

生成された output.pptx を LibreOffice の Impress で開いて確認します。

output.pptx を Impress で開いた例

マスタースライドの仕組みが、Impress と PowerPoint で異なっているように見えるので、いまひとつレイアウトの指定に納得できないところがありますが、おいおい PowerPoint 上で確認するつもりです。また、テンプレートからコピーした最初のページを削除したいのですが、やり方が判りません。ひきつづき調べることにします。

自宅では Linux を使っているので Microsoft Office を使いませんが、仕事で Windows を使わなければならず、PowerPoint の資料作成を自動化できれば仕事が大変捗ります。

参考サイト

  1. bitWalk's: 【備忘録】Matplotlib で SPC チャート [2020-07-09]
  2. python-pptx — python-pptx 0.6.18 documentation
  3. Getting Started — python-pptx 0.6.18 documentation

 

ブログランキング・にほんブログ村へにほんブログ村

0 件のコメント: