简介

准备工作

在开始之前,请确保您的系统中已安装以下Python库:

  • Pillow:用于图像处理。
  • reportlab:用于生成PDF文件。

您可以通过以下命令安装这些库:

pip install Pillow reportlab

步骤一:导入所需库

首先,导入必要的库:

from PIL import Image
from reportlab.lib.pagesizes import letter
from reportlab.lib import pagesizes
from reportlab.pdfgen import canvas
import os

步骤二:定义转换函数

def images_to_pdf(image_paths, output_path):
    c = canvas.Canvas(output_path, pagesize=letter)
    width, height = letter

    for image_path in image_paths:
        img = Image.open(image_path)
        img_width, img_height = img.size

        # 计算图片在PDF中的位置
        x = (width - img_width) / 2
        y = (height - img_height) / 2

        # 将图片添加到PDF
        c.drawImage(image_path, x, y, width=img_width, height=img_height)
        c.showPage()

    c.save()

步骤三:读取图片文件夹

def get_image_paths(directory):
    image_paths = []
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif')):
                image_paths.append(os.path.join(root, file))
    return image_paths

步骤四:执行转换

# 指定图片文件夹和输出PDF文件路径
image_directory = 'path/to/your/image/folder'
output_pdf_path = 'output.pdf'

# 获取图片路径列表
image_paths = get_image_paths(image_directory)

# 调用函数进行转换
images_to_pdf(image_paths, output_pdf_path)

总结