多张图片转pdf

简单版

from PIL import Image
import os
import sys


def gen_pdf(paths, result_name):
    img_open_list = []  # 创建打开后的图片列表

    for path in paths:
        for root, _, files in os.walk(path):
            for f in files:
                file = os.path.join(root, f)  # 遍历所有图片,带绝对路径
                img_open = Image.open(file)  # 打开所有图片
                if img_open.mode != 'RGB':
                    img_open = img_open.convert('RGB')  # 转换图像模式
                img_open_list.append(img_open)  # 把打开的图片放入列表

    img_1 = img_open_list[0]  # 打开的第一张图片
    img_1.save(result_name, "PDF", resolution=100.0, save_all=True, append_images=img_open_list[1:])
    print('转换成功!pdf文件在当前程序目录下!')


if __name__ == '__main__':
    args = sys.argv
    if len(args) < 3:
        print("""转换失败:参数不正确。
        
            python [该程序]  需要转换的目录1....N  最后的结果文件
        
        例如:
            
            python images2pdf.py C:\\Users\\Administrator\\Downloads\\ ./hello.pdf
            
        需要注意:
        
            此程序把文件夹内所有图片转换为一个pdf文档(图片需按顺序命名)!
        """)
    gen_pdf(args[:-1], args[-1])

posted @ 2021-03-06 15:38  zhengyuanyuan  阅读(90)  评论(0)    收藏  举报