使用Python脚本+bat批处理 批量把图片插入PPT 并以文件夹名称命名 图片转PPT
·
import os
from pptx import Presentation
from pptx.util import Inches
def sort_images_by_number(filename):
"""
从文件名中提取数字并用于排序。
假设文件名格式为 'image1.png', 'pic_02.png', '3_screenshot.png' 等。
"""
number_part = ''.join(filter(str.isdigit, filename))
return int(number_part) if number_part else 0
def images_to_ppt():
# 获取当前脚本所在目录
current_dir = os.getcwd()
# 获取当前文件夹的名称,用于命名输出的PPT文件
folder_name = os.path.basename(current_dir)
output_ppt = f"{folder_name}.pptx"
# 列出当前目录下所有的 .png 文件
png_files = [f for f in os.listdir(current_dir) if f.lower().endswith('.png')]
if not png_files:
print("当前目录下没有找到PNG图片文件。")
return
# 按文件名中的数字进行排序
png_files.sort(key=sort_images_by_number)
print(f"找到 {len(png_files)} 个PNG文件,按编号顺序排列如下:")
for file in png_files:
print(file)
# 创建一个新的PPT演示文稿
prs = Presentation()
# 获取幻灯片页面的宽度和高度(单位:英寸)
slide_width = prs.slide_width
slide_height = prs.slide_height
# 用户要求的图片尺寸:宽 25.44CM,高 14.29CM
target_width_cm = 25.44
target_height_cm = 14.29
target_width = Inches(target_width_cm / 2.54)
target_height = Inches(target_height_cm / 2.54)
# 计算图片居中显示的左上角位置
left = (slide_width - target_width) / 2
top = (slide_height - target_height) / 2
# 遍历排序后的图片文件,将每张图片插入到新的幻灯片中
for img_file in png_files:
img_path = os.path.join(current_dir, img_file)
# 使用空白布局(通常是第6个布局,索引为5)
slide_layout = prs.slide_layouts[5]
slide = prs.slides.add_slide(slide_layout)
# --- 关键修复:确保删除所有默认形状 ---
# 有时候空白布局也可能包含隐藏的占位符,我们强制删除所有形状
# 先将所有形状存入一个列表,再进行删除,避免遍历时列表变化的问题
shapes_to_delete = list(slide.shapes)
for shape in shapes_to_delete:
# 检查形状是否为占位符(如标题框)
if shape.is_placeholder:
slide.shapes._spTree.remove(shape._element)
# 插入图片,使用固定的目标宽度和高度,并放置在计算好的居中位置
pic = slide.shapes.add_picture(img_path, left, top, width=target_width, height=target_height)
# 保存生成的PPT文件,文件名是当前文件夹的名称
prs.save(output_ppt)
print(f"\nPPT文件已生成:{output_ppt}")
if __name__ == "__main__":
# 在运行脚本前,请确保已安装 python-pptx 库
# 安装命令:pip install python-pptx
images_to_ppt()
这是一个Python脚本 把当前目录的 png图片 按图片编号顺序 批量插入PPT文件中,并以文件夹名称命名。
使用说明:
-
安装依赖库:在运行此脚本之前,请确保你的 Python 环境中已安装
python-pptx库。如果尚未安装,可以通过以下命令安装:win+r 打开cmd窗口 运行
pip install python-pptx -
准备图片:将所有需要插入的 PNG 图片放在与这个 Python 脚本相同的目录下。
-
运行脚本:在终端或命令行中,切换到脚本所在目录,然后运行该脚本:
bash
运行
python your_script_name.py(将
your_script_name.py替换为你保存的脚本文件名) -
查看结果:脚本执行完成后,会在当前目录下生成一个名为
批量图片插入PPT.pptx的新 PPT 文件,其中包含了按编号顺序插入的所有 PNG 图片,每张图片占据一页幻灯片。
- 在你的
.py文件所在的文件夹中,新建一个文本文档。 - 用记事本打开这个文本文档,输入以下内容:
batch
@echo off python "你的脚本文件名.py" pause- 将
你的脚本文件名.py替换为你实际的 Python 脚本文件名(包括扩展名)。 @echo off:关闭命令行的默认命令显示。python "你的脚本文件名.py":调用 Python 解释器来运行你的脚本。pause:执行完脚本后暂停,防止窗口自动关闭,让你可以看到输出结果。
- 将
- 点击 “文件” -> “另存为”。
- 在 “保存类型” 中选择 “所有文件”,文件名填写为
运行脚本.bat(或其他你喜欢的名字,后缀必须是.bat),然后点击 “保存”。
现在,双击这个 .bat 文件,它就会打开命令行窗口并执行你的 Python 脚本,执行完毕后会显示 “请按任意键继续...”,方便你查看结果。

更多推荐
所有评论(0)