文章
python 图片转pdf
import os
import shutil
from PIL import Image
from PyPDF2 import PdfMerger
def images_to_pdf(image_folder, output_filename):
"""
:param image_folder: 存储图片的文件夹路径
:param output_filename: 图片转pdf目标路径 /xxx/xxx.pdf
:return:
"""
merger = PdfMerger()
temp_dir = os.path.join(image_folder, "temp_pdfs")
os.makedirs(temp_dir, exist_ok=True)
# 将每张图片转为单页PDF
for idx, img_file in enumerate(sorted(os.listdir(image_folder))):
img_path = os.path.join(image_folder, img_file)
if img_path.lower().endswith(('.png', '.jpg', '.jpeg')):
img = Image.open(img_path)
temp_pdf = os.path.join(temp_dir, f"temp_{idx}.pdf")
img.save(temp_pdf, "PDF", resolution=100.0)
merger.append(temp_pdf)
# 合并所有临时PDF
merger.write(output_filename)
merger.close()
# 清理临时文件(可选)
shutil.rmtree(temp_dir)