anchovy126 发表于 2024-4-3 11:11

教材文件夹中多个图片合成PDF文件

刚看了电子教材下载器(https://gitlab.com/xiaoyangtech1/AnyTextbookDownloader)。体验了一下,下载的人民教育出版社的教材,保存到本地就是一个文件夹,里面都是按每个页面一个图片文件保存的。我想把这些图片做成PDF文件,于是就在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 = # 获取文件夹中的图片文件
    image_files.sort(key=get_numeric_part)   # 按文件名中数字部分进行排序
    for image in image_files:
      c.drawImage(image_folder + os.sep + image, 0, 0,width=letter,height=letter) # 将图片绘制到PDF中,以及指定位置和大小
      c.showPage()   # 创建新的页面   
    c.save() # 保存PDF文件

# 使用示例
image_folder = 'C:\TextbookDownloads\普通高中教科书 通用技术必修技术与设计1'# 图片所在文件夹路径
output_pdf = 'output.pdf'# 输出PDF文件名
create_pdf(image_folder, output_pdf)

jgn3odl2 发表于 2024-4-3 14:54

可以有,🐂🍺

ydielwang 发表于 2024-4-3 16:18

谢谢分享{:1_893:}赞一个

XiaoYangTech 发表于 2024-6-20 22:51

开发者在此,报到
页: [1]
查看完整版本: 教材文件夹中多个图片合成PDF文件