在处理数字化文档或报告时,我们经常需要将扫描的图片或图表批量合并为单一的PDF文件。Python提供了一种简便的方法来自动化这个过程,并且可以确保图片按照数字顺序(如1, 2, 10而不是1, 10, 2)正确排序。本文将介绍如何使用Python和Pillow库来实现这一功能。
安装Pillow库
Pillow是Python Imaging Library (PIL) 的一个分支,提供了广泛的文件格式支持、有效的内部表示和强大的图像处理能力。首先确保已安装Pillow库:
pip install Pillow
解析
extract_number
函数使用正则表达式re.findall
从文件名中提取数字,然后基于这些数字对文件名进行排序。这确保了像page_10.png
这样的文件会被正确地排序在page_2.png
之后。- 使用
Image.open(img_path).convert("RGB")
加载图片并确保图片是RGB模式,因为PDF不支持Alpha通道。 images[0].save(output_pdf_path, save_all=True, append_images=images[1:])
将第一张图片作为PDF的第一页,并将剩余图片作为后续页附加到PDF中。
from PIL import Image
import os
import re# 指定包含图片的文件夹路径
images_folder_path = r'你的图片文件夹路径'# 指定输出PDF文件的路径
output_pdf_path =