吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1097|回复: 5
收起左侧

[Python 原创] 批量把漫画图片转化为PDF

  [复制链接]
aichiyu 发表于 2024-6-14 12:30
[Asm] 纯文本查看 复制代码
from PIL import Image
import os
import gc

def images_to_pdf(image_dir):
    # 遍历所有子目录
    for root, dirs, files in os.walk(image_dir):
        image_files = [f for f in files if f.lower().endswith(('png', 'jpg', 'jpeg', 'bmp', 'gif'))]
        image_files.sort()  # 可选:对文件进行排序,以确保PDF中的页面顺序

        # 如果当前目录中没有图片文件,则跳过
        if not image_files:
            continue

        # 生成PDF文件名,以子目录名称命名
        subdir_name = os.path.basename(root)
        parent_dir = os.path.dirname(root)
        output_pdf = os.path.join(parent_dir, f'{subdir_name}.pdf')

        # 检查PDF是否已经存在
        if os.path.exists(output_pdf):
            print(f"PDF文件已存在,跳过:{output_pdf}")
            continue

        # 打开所有图片文件,并将其转换为RGB模式
        images = []
        for file in image_files:
            img_path = os.path.join(root, file)
            with Image.open(img_path) as img:
                img = img.convert('RGB')
                images.append(img.copy())  # 复制图像对象,释放原始图像资源
                img.close()  # 关闭原始图像文件

            # 手动进行垃圾回收
            gc.collect()

        # 确保输出目录存在
        os.makedirs(parent_dir, exist_ok=True)

        # 保存图片为PDF文件
        if images:
            images[0].save(output_pdf, save_all=True, append_images=images[1:])
            print(f"PDF文件已保存到 {output_pdf}")
        else:
            print(f"没有找到图片文件在目录 {root}")

        # 手动进行垃圾回收
        images.clear()
        gc.collect()

# 示例使用
image_directory = input('请输入漫画目录地址: ')

images_to_pdf(image_directory)

免费评分

参与人数 4吾爱币 +9 热心值 +3 收起 理由
TTTTyTTTT + 1 我很赞同!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
yanglinman + 1 谢谢@Thanks!
wanfon + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

weimeng555 发表于 2024-6-14 13:01
感谢大佬分享好东西,羡慕程序员,能否做成一个应用程序呢?
shenhuen10 发表于 2024-6-14 13:16
雾都孤尔 发表于 2024-6-14 14:02
tfl1 发表于 2024-6-14 15:59
已把大佬的代码转为应用程序,希望大家可以支持下
https://www.123pan.com/s/fw4wjv-rpQl.html  提取码:52pj

免费评分

参与人数 1吾爱币 +1 收起 理由
yanglinman + 1 谢谢@Thanks!

查看全部评分

hanbazhen 发表于 2024-6-14 22:20
tfl1 发表于 2024-6-14 15:59
已把大佬的代码转为应用程序,希望大家可以支持下
https://www.123pan.com/s/fw4wjv-rpQl.html ...

哥们是什么软件转的?求教
Leonws 发表于 2024-6-17 21:49
支持一下,是否有软件能转啊
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 15:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表