1 需求
从网页上复制了好多图片到ppt中,但是大小和位置需要移动。
手动太麻烦了,于是编写了一段代码批量处理。
这也充分体现一点:有重复工作时,先想想是否可以用编程来解决。
2 代码
# 运行pip install python-pptx,安装库
from pptx import Presentation
from pptx.util import Inches
def resize_and_move_images(ppt_file, new_width, new_height, new_left, new_top):
# 加载现有的 PPT 文件
prs = Presentation(ppt_file)
# 遍历每张幻灯片
for slide in prs.slides:
# 遍历幻灯片中的所有形状
for shape in slide.shapes:
# 检查形状是否为图片
if shape.shape_type == 13: # 13 代表图片
# 调整图片大小
# shape.width = Inches(new_width)
shape.width = Inches(new_width)
shape.height = Inches(new_height)
# 移动图片到新位置
shape.left = Inches(new_left)
shape.top = Inches(new_top)
# 保存修改后的文件
prs.save('modified_presentation.pptx')
# 使用示例
resize_and_move_images('origin.pptx', 13.4, 7.51, 0, 0)
# 问题
# 这里的尺寸有问题,不知道为什么。