今日も微速転進

ここではないどこかへ

Pythonで複数の画像をPDFにする(1画像1ページ/圧縮なし)


スポンサーリンク

スキャン済みの画像データをゲットしたのはいいけれど……。

PNG形式のバラ画像200枚というのは不便ですねって話。

ImageMagickで一気にPDF化することはできないので……。

1画像ずつPDFにして結合すればいいんだけど、それはそれでめんどいのでPythonでやってみます。

準備

いつもどおり仮想環境を作って有効化。

$ python3 -m venv venv
$ . venv/bin/activate

ReportLabをインストールします。

$ pip install reportlab

Pythonのバージョンは3.7

コード

画像の圧縮なしバージョン。A5サイズ決め打ち。

連番のPNG画像をまとめてPDF化するスクリプト(A5)

PillowでJPEGに変換すればデータサイズを減らせますがやってないです。

ページサイズのA5の部分は定数化すべきですね。いつもどおりのやっつけ仕事。

まとめ

これでかなり読みやすくなりました。固定レイアウトのKindle本でも同じ要領で(DeDRM)すれば行けるはず。

PDF構造解説

PDF構造解説

広告