python打包合成文件夹下面所有.jpg和.png图片为pdf文件

python打包合成文件夹下面所有.jpg和.png图片为pdf文件

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from PIL import Image
import os

def combine_imgs_pdf(folder_path, pdf_file_path):
    """
    合成文件夹下的所有图片为pdf
    Args:
        folder_path (str): 源文件夹
        pdf_file_path (str): 输出路径
    """
    files = os.listdir(folder_path)
    png_files = []
    sources = []
    for file in files:
        if 'png' in file or 'jpg' or 'JPG' or 'PNG' in file:
            png_files.append(folder_path + file)
    png_files.sort()
    output = Image.open(png_files[0])
    if output.mode == "RGBA":
       output = output.convert("RGB")
    png_files.pop(0)
    for file in png_files:
        png_file = Image.open(file)
        if png_file.mode == "RGBA":            
           png_file = png_file.convert("RGB")
        sources.append(png_file)
    output.save(pdf_file_path, "pdf", save_all=True, append_images=sources)

if __name__ == "__main__":
    folder = r"E:\tmp\\"
    pdfFile = r"E:\tmp\ht.pdf"
    combine_imgs_pdf(folder, pdfFile)

标签:pdf PIL Image