Python利用pptx操作PPT实现幻灯片的删除与替换

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Python利用pptx操作PPT实现幻灯片的删除与替换

虚坏叔叔   2023-02-03 我要评论

一、原理

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

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们