简介
准备工作
在开始之前,请确保您的系统中已安装以下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)