スキャンした画像などを1つのPDFファイルにまとめたいことがあり、あるフォルダに含まれている画像を1つのPDFファイルにして出力するPythonプログラムを作ってみました。

プログラムの動作

Python スクリプトと同じディレクトリに「images」というフォルダを作成します。そのフォルダ内にPDFにしたい画像(JPEGもしくはPing形式)を入れておき、プログラムを実行するとmyImages.pdfというファイルが作成されます。

実行した様子。

プログラムの内容

プログラムの説明

globでimagesフォルダにあるファイルのリストを取得します。

リストに含まれるファイル名から拡張子を取り出し、それがjpgもしくはpngのときだけ、Imageモジュールで開きます。
19行目:pngファイルの場合、αチャンネル(透明色)が含まれている場合があるので、RGB形式に変換した後、画像データをリスト変数img_listに追加します。

24行目:リストの先頭にあるデータをimgという変数に取り出します。
25行目:変数imgに残りの画像データをくっつける形でPDFファイルに保存しています。

次回はダイアログで画像ファイルを選択できるように、今回のプログラムを改良したものを紹介したいと思います。