初めに
Kindleの自動スクショ保存プログラムの記事でKindle本の全ページのスクリーンショットを保存することができましたが、画像ファイルだと何かと不便で扱いにくいと感じましたので、画像ファイルをまとめてpdf化するプログラムを作成しました。
使用方法
git clone https://github.com/yassyyuki/pdf_converter.git
または、pdf_converter.py
ファイルを作成して、以下のコードをコピペしてください。
from PIL import Image
import os
import datetime
import img2pdf
if __name__ == '__main__':
pdfFileName = "hoge.pdf" # 作成するpdfファイル名
path = "hoge" # 画像ファイルが入っているディレクトリ
ext_p = ".png"
ext_j = ".jpg"
save_directory = "output_pdf" + "_" + str(datetime.datetime.now().strftime("%Y%m%d%H%M%S"))
os.mkdir(save_directory)
with open(save_directory + "/" + pdfFileName, "wb") as f:
imageList = []
for item in os.listdir(path):
if item.endswith(ext_p):
image = Image.open(path + "/" + item)
image = image.convert('RGB')
image.save(save_directory + "/" + item[:-3] + 'jpg')
imageList = imageList + [save_directory + "/" + item[:-3] + 'jpg']
elif item.endswith(ext_j):
image = Image.open(path + "/" + item)
image = image.convert('RGB')
imageList = imageList + [path + "/" + item]
imageList.sort()
f.write(img2pdf.convert(imageList))
# 余分に作成したjpgファイルの削除
# 残しておきたい場合はコメントアウトする
for i in imageList:
os.remove(i)
そして、
if __name__ == '__main__':
pdfFileName = "hoge.pdf" # 作成するpdfファイル名
path = "hoge" # 画像ファイルが入っているディレクトリ
のhoge
となっている部分を適切に編集してください。
編集し終えましたら、実行しましょう。
python pdf_converter.py
すると、カレントディレクトリに、output_pdf_XXXXXX
といったディレクトリが作成され、その中にさっき自分で設定したはずの名前のpdfファイルが保存されているはずです。
終わりに
今回のpdf化はあくまでもKindleの自動スクショ保存プログラムで作成した画像ファイルを変換することしか確認しておりません。普通の画像ファイルの集合をpdf化できるかどうかは保証致しませんのでよろしくお願い致します。