フォルダ配下の画像を1つのPDFにまとめるPythonスクリプト

画像ファイルを一つのファイルにまとめて作業したいケースに便利


事前準備

必要なパッケージをインストール

pip install Pillow reportlab


フォルダ配下の画像を1つのPDFにまとめる

スクリプトの下の方にある画像が含まれるフォルダと出力するPDFファイルを変更し、Pythonを実行

import os
from PIL import Image
from reportlab.lib.pagesizes import portrait
from reportlab.lib.utils import ImageReader
from reportlab.pdfgen import canvas

def convert_images_to_pdf(image_folder, output_pdf_path):
    image_paths = [os.path.join(image_folder, file) for file in os.listdir(image_folder) if file.lower().endswith(('.png', '.jpg', '.jpeg'))]

    if not image_paths:
        print("No image files found in the folder.")
        return

    c = canvas.Canvas(output_pdf_path, pagesize=portrait)
    
    for image_path in image_paths:
        img = Image.open(image_path)
        img_width, img_height = img.size
        c.setPageSize((img_width, img_height))
        c.drawImage(ImageReader(img), 0, 0, width=img_width, height=img_height)
        c.showPage()
    c.save()

if name == "main":
image_folder = "changeme"  # 画像が含まれるフォルダのパスを指定
output_pdf_path = "changeme"  # 出力PDFファイル名を指定
convert_images_to_pdf(image_folder, output_pdf_path)

いいなと思ったら応援しよう!