【Python】jpeg,pngなどの画像をPDF変換

久しぶりの投稿でいきなりPythonです…。
マンガを読むのが好きで、自炊本をよく作成します。
画像からpdfに変換する時は、フリーソフトを使っていましたが、
汎用性には欠けるので、今流行りのPythonを使って変換ソフトを自作しました。。

スポンサーリンク

前提

Anacondaをインストールしていること。

準備

まずは必要なライブラリをインストールします。
Anaconda Promptから以下を実行。

pip install img2pdf
pip install Pathlib

コード

#さっきインストールしたライブラリをインポート
import img2pdf,os
from PIL import Image
#Pythonのファイルパス指定は色々と面倒ですが、
#下記のようにパスの頭にrをつけるとうまくいきます
#ベースとなる画像を置いてあるフォルダパス
base_Image = r"C:\Test\PDF_Test\image"
#pdfを作成したいフォルダパス
Create_pdf = r"C:\Test\PDF_Test\pdf"
#画像の名前(拡張子含む)
Image_Name = "image1.jpg"
#pdf化したあとのファイルパス(拡張子含む)
pdf_name = Create_pdf + "\\" + str(Image_Name) + ".pdf"
#chdirでカレントディレクトリを移動
os.chdir(base_Image)
#Pillowモジュールを使用し画像の読み込み
img = Image.open(Image_Name)
#画像を回転 必要があれば使用
img = img.rotate(-90, expand = True)
#pdfファイルへ変換
cov_pdf = img2pdf.convert(Image_Name)
#pdfファイルを読み込み(pdf_nameで指定したpdfがない場合、pdf_nameをファイル名として新規にpdfファイルを作成)
file = open(pdf_name , "wb")
#pdfファイルを書き込み
file.write(cov_pdf)
#開いているファイルを閉じる
img.close()
file.close()

まとめ

今回は一枚の画像をPDF変換しましたが、複数枚変換したい場合は
for文をうまく使いましょう。必要であれば記事にしますので、
お問い合わせお願いします。
次回は複数のPDFを統合する方法を紹介します。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
https://blog.sooosa.com/python-pdf-integration

コメント