Python实现多图片转PDF

import os
import img2pdf


def filterFileName(imagesPath: str, formatName: str) -> list:
    """
        获取指定文件夹下所有的文件名称, 并筛选出指定格式的图片.
    Args:
        imagesPath: 图片文件夹路径
        formatName: 需要筛选的图片格式名

    Returns: 返回指定格式的图片名称组成的 List
    """
    nameArr = []
    for name in os.listdir(imagesPath):
        if (name.split(".")[-1] == formatName):
            nameArr.append(fr"{imagesPath}\{name}")
    return nameArr


def main(imagesPath: str, formatName="jpg", pageSize=25) -> None:
    """
    Args:
        imagesPath: 图片文件夹路径
        formatName: 需要筛选的图片格式名
        pageSize:   组成一个 PDF 的图片数量
    """
    allImgList = filterFileName(imagesPath, formatName)
    cnt = 1
    while (len(allImgList) > 0):
        imgList = allImgList[:pageSize]
        with open(fr"D:\SamplePDF\第{cnt}.pdf", "wb") as f:
            print(f"已转录第 {cnt} 本.")
            cnt += 1
            f.write(img2pdf.convert(imgList))
        allImgList = allImgList[pageSize:]


if __name__ == '__main__':
    # 参数含义依次为: 图片文件夹路径, 需要筛选的格式, 组成一个 PDF 的图片数量
    main(r"D:\SampleImage", "jpg", 25)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值