はじめに
画像をためたフォルダの一覧を作る時に困ったことありませんか?今回は画像を1つのPDFファイルに纏める方法をご紹介します。
「img2pdf」のインストール
最初に「img2pdf」をインストールします。
pip install img2pdf
img2pdf
Convert images to PDF via direct JPEG inclusion.
コード
一つのフォルダの中にあるpng画像を抜き出して、PDFに変換します。
folder_path 作ったPDFの保存先
pngFolder png ファイルが保存されているディレクトリ
pdf FileName まとめたPDFファイルの名前
これらの変数を自分の環境に変えて使用してください。
import img2pdf
import os
from PIL import Image
import glob
import subprocess
# 保存先のフォルダパス
folder_path = "D:/python3_cap"
# 画像フォルダ
png_Folder = "D:/captest/" # 画像フォルダ
#出力するPDFの名前
pdf_FileName = "まとめ.pdf"
#拡張子がPNGのものを対象
extension = ".png"
#関数
def find_png_files(folder_path):
"""
フォルダ内のすべての.pngファイルを検索して、ソートされたリストを返します。
Args:
folder_path: 検索対象のフォルダのパス
Returns:
PNGファイルのパスを含むソートされたリスト
"""
png_files = []
for file_path in glob.glob(os.path.join(folder_path, "*" + extension)):
if os.path.isfile(file_path):
png_files.append(file_path)
return sorted(png_files)
ret = find_png_files(folder_path)
print("リスト長 len = {}".format(len(ret)))
allpath = folder_path + "/" + pdf_FileName
print("作成開始 ファイル名 {}".format(allpath))
with open(allpath,"wb") as f:
# 画像フォルダのファイルを取得し配列に追加、バイナリ形式でファイルに書き込む
f.write(img2pdf.convert(ret))
print("作成終了")
subprocess.Popen("explorer",folder_path + "/", shell=True)
内容はコメントに書いてあるので、見てみてください。