Python利用pptx操作PPT实现幻灯片的删除与替换
虚坏叔叔 人气:0一、原理
通过查找ppt中的图片指纹替换
二、操作流程
原始ppt如下:
根据oldpic.png
的md5指纹 找到图片
if md5img == md5finger: slide.shapes.add_picture(newpic, shape.left, shape.top, shape.width, shape.height) e.getparent().remove(e)
oldpic.png
想要替换的newpic.png
最后生成的成果如下:
三、代码
完整代码如下:
def replace_pic4shapes(filename, newpic, oldpic): # 把旧样本图片Logo,获取指纹 imageFile = open(oldpic, "rb") imgBlob = imageFile.read() md5finger = hashlib.md5(imgBlob).hexdigest() prs = Presentation(filename) for slide in list(prs.slides)[0:]: for shape in list(slide.shapes): ispicture= False try: md5img = hashlib.md5(shape.image.blob).hexdigest() ispicture = True except: pass e = shape.element if ispicture: if md5img == md5finger: slide.shapes.add_picture(newpic, shape.left, shape.top, shape.width, shape.height) e.getparent().remove(e) pass prs.save("课件工坊-长征组歌新文件.pptx")
加载全部内容