Python 多张图片转成一个 PDF 文件 简介
该功能是基于 Python 实现的自动化图文合并工具,可将指定文件夹内的多张图片(支持不同格式、不同尺寸)按自定义顺序整合为一个独立的 PDF 文件,无需借助办公软件手动插入、排版、导出,大幅简化图文归档、电子资料制作等场景的操作流程。
核心特性
灵活批量合并:支持一次性选取多张图片(或自动扫描指定文件夹内的所有图片)进行合并,无需单张图片逐个插入,可按需筛选图片格式,满足批量整合的需求。
顺序可控与命名规整
排序灵活:可按图片文件名、修改时间、自定义列表等规则调整图片在 PDF 中的排列顺序,确保 PDF 内容逻辑连贯;
输出规范:合并后生成一个完整的 PDF 文件,可自定义 PDF 文件名与保存路径,方便后续传阅、归档与打印。
高兼容性与格式适配
图片格式兼容:支持 JPG/JPEG、PNG、BMP、TIFF 等常用图片格式,无需提前统一图片格式;
自适应处理:可自动适配不同尺寸、分辨率的图片,支持自定义 PDF 页面大小、图片对齐方式(居中 / 填充等),确保合并后的 PDF 版式整洁美观。
操作简洁易上手:基于成熟 Python 第三方库构建,代码逻辑清晰,参数配置简单,无需复杂专业技术,既可直接运行脚本,也可按需微调参数,非编程人员也能快速使用。
# -*- coding: utf-8 -*-
”’
Python多张图片转成一个PDF文件
”’# 安装所需模块
# pip install pillow==10.2.0 -i https://pypi.tuna.tsinghua.edu.cn/simple# 导入包
from PIL import Image
import os# 定义方法
def combine_imgs_pdf(folder, pdfFile):
”’合成文件夹下的所有图片为一个PDF”’
print(‘转换开始’)
files = os.listdir(folder)
png_files = []
sources = []
for file in files:
# 支持png jpg jpeg 图片
if ‘png’ in file or ‘jpeg’ in file or ‘jpg’ in file:
png_files.append(folder + file)
print(folder + file)
png_files.sort()
png_files.pop(0)
for file in png_files:
png_file = Image.open(file)
if png_file.mode == “RGBA”:
png_file = png_file.convert(“RGB”)
sources.append(png_file)
# 输出PDF
png_file.save(pdfFile, “pdf”,
save_all=True, append_images=sources)
print(‘转换完成:’+pdfFile)if __name__ == “__main__”:
# 图片的目录位置
folder = r”D:\Test\image\\”# PDF保存位置
pdfFile = r”D:\Test\imgall.pdf”# 执行转换
combine_imgs_pdf(folder, pdfFile)
原创文章,作者:管理员,如若转载,请注明出处:https://www.devcn.cn/60.html