吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 434|回复: 4
收起左侧

[学习记录] 教材文件夹中多个图片合成PDF文件

[复制链接]
anchovy126 发表于 2024-4-3 11:11
刚看了电子教材下载器(https://gitlab.com/xiaoyangtech1/AnyTextbookDownloader)。体验了一下,下载的人民教育出版社的教材,保存到本地就是一个文件夹,里面都是按每个页面一个图片文件保存的。我想把这些图片做成PDF文件,于是就在python里鼓捣了一阵。代码分享给大家。
[Python] 纯文本查看 复制代码
from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
import os
import re
def get_numeric_part(filename): # 提取文件名中的数字部分
    match = re.match(r"(\d+).*", filename) # 使用正则表达式匹配数字
    return int(match.group(1)) if match else 0  
def create_pdf(image_folder, output_pdf):
    c = canvas.Canvas(output_pdf, pagesize=letter) # 创建一个PDF文件

    image_files = [f for f in os.listdir(image_folder) if f.endswith(('.png', '.jpg', '.jpeg', '.bmp', '.gif'))] # 获取文件夹中的图片文件
    image_files.sort(key=get_numeric_part)   # 按文件名中数字部分进行排序
    for image in image_files:
        c.drawImage(image_folder + os.sep + image, 0, 0,width=letter[0],height=letter[1]) # 将图片绘制到PDF中,以及指定位置和大小
        c.showPage()   # 创建新的页面    
    c.save() # 保存PDF文件
 
# 使用示例
image_folder = 'C:\TextbookDownloads\普通高中教科书 通用技术必修技术与设计1'  # 图片所在文件夹路径
output_pdf = 'output.pdf'  # 输出PDF文件名
create_pdf(image_folder, output_pdf)

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

pbmmm 发表于 2024-4-3 14:54
谢谢楼主分享
jgn3odl2 发表于 2024-4-3 14:54
ydielwang 发表于 2024-4-3 16:18
xu313 发表于 2024-4-3 16:29
楼主辛苦。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-5-1 10:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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