前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为每一个文件夹内的图片生成 PDF

为每一个文件夹内的图片生成 PDF

原创
作者头像
青橙.
修改2023-01-22 23:47:59
1.2K0
修改2023-01-22 23:47:59
举报
文章被收录于专栏:橙、

需求

有很多文件夹,这些文件夹内存有若干图片。现在需要按文件夹来生成这些图片的 PDF 文件。

思路

工具

通过 Python 进行实现

方法

使用 Pillow 来打开、存储为PDF

其他细节

  • 生成的文件保存在 pdf 文件夹中,该文件夹已提前创建
  • 只处理 jpgpng 格式的文件
  • 同一个 PDF 中图片的顺序按文件名的顺序进行排序
  • 同一个文件夹内图片数量有限,但文件夹内图片总大小不超过 100 M,无需考虑内存优化
  • 没有空文件夹

实现

代码语言:python
代码运行次数:0
复制
from PIL import Image
import os

for root, dirs, files in os.walk("."):
    for dir in dirs:
        
        flist = []
        for file in os.listdir(os.path.join(root, dir)):
            if file.endswith(".jpg"):
                flist.append(file)
        
        # 忽略空文件夹
        if len(flist) == 0:
            continue
        
        # 如果需要调整图片排序方法,在这里进行处理
        flist.sort()

        # 使用 Pillow 库打开图片
        images = []
        for file in flist:
            images.append(Image.open(os.path.join(root, dir, file)))

        # 保存 PDF 文件
        pdf_file = os.path.join(root, "pdf", dir + ".pdf")
        images[0].save(pdf_file, save_all=True, append_images=images[1:])

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 需求
  • 思路
    • 工具
      • 方法
        • 其他细节
        • 实现
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档