通过查找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")