简单版
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])