Python | 分享10个PPT自动化脚本,一定有你用得上的!

科技   2024-11-27 08:04   陕西  
在工作和学习中,制作演示文稿(PPT)是不可或缺的一部分。Python通过库如python-pptx为我们提供了强大的自动化工具,使我们能够创建、修改和定制PowerPoint演示文稿。

本文将分享10个实用的PPT自动化脚本,帮助新手小白快速上手。


1. 创建一个新的PPT文件

from pptx import Presentation

# 创建新的PPT文件并添加标题幻灯片
def create_new_presentation(file_name, title):
    prs 
= Presentation()
    slide = prs.slides.add_slide(prs.slide_layouts[0])  # 添加标题幻灯片
    title_placeholder = slide.shapes.title
    subtitle_placeholder = slide.placeholders[1]
    
    title_placeholder.text = title  # 设置标题
    subtitle_placeholder.text = "欢迎使用PPT自动化"  # 设置副标题
    
    prs.save(file_name)

create_new_presentation('example.pptx''我的新幻灯片')
print("新PPT文件已创建!")

解释

该脚本创建一个新的PPT文件,并添加一张标题幻灯片。这对于程序员而言,快速生成演示文稿的框架是基本技能;而对于普通用户,尤其是在准备会议时,这样的工具将节省很多时间。


2. 向PPT中添加文本框

# 向已有的PPT中添加文本框
def add_textbox_to_slide(file_name, text):
    prs 
= Presentation(file_name)
    slide = prs.slides[0]  # 获取第一张幻灯片

    left = top = width = height = 1000000  # 设置文本框的位置和大小
    textbox = slide.shapes.add_textbox(left, top, width, height)
    textbox.text = text  # 设置文本框内容
    
    prs.save(file_name)

add_textbox_to_slide('example.pptx''这是一个文本框示例。')
print("文本框已成功添加到PPT中!")

解释

这个脚本向指定的PPT文件的第一张幻灯片添加一个文本框。文本框可以用于插入说明性文字或其他信息,非常实用于补充幻灯片内容。


3. 修改幻灯片中的文本

# 修改幻灯片中现有文本的内容
def replace_text_in_slide(file_name, old_text, new_text):
    prs 
= Presentation(file_name)
    for slide in prs.slides:
        for shape in slide.shapes:
            if hasattr(shape, "text") and old_text in shape.text:
                shape.text 
= shape.text.replace(old_text, new_text)  # 替换文本
    prs.save(file_name)

replace_text_in_slide('example.pptx''文本框示例''替换后的文本')
print("幻灯片中的文本已成功修改!")

解释

该脚本查找并替换PPT中某些幻灯片的文本内容。当需要更新演示文稿中的过时信息时,这是一个非常有效的解决方案。


4. 删除幻灯片

# 从PPT中删除指定的幻灯片
def delete_slide(file_name, slide_index):
    prs 
= Presentation(file_name)
    del prs.slides[slide_index]  # 删除指定索引的幻灯片
    prs.save(file_name)

delete_slide('example.pptx'1)  # 删除第二张幻灯片(索引从0开始)
print("指定的幻灯片已成功删除!")

解释

这个脚本删除PPT文件中的特定幻灯片。在演示文稿审阅过程中,可能会希望去掉不再需要的内容,这种功能就能很方便地实现。


5. 添加图片到幻灯片

# 向幻灯片中添加图片
def add_image_to_slide(file_name, image_path):
    prs 
= Presentation(file_name)
    slide = prs.slides.add_slide(prs.slide_layouts[5])  # 添加一张空白幻灯片
    left = top = 1000000  # 设置图片位置
    slide.shapes.add_picture(image_path, left, top, width=5000000)  # 设置宽度

    prs.save(file_name)

add_image_to_slide('example.pptx''image.png')
print("图片已成功插入到幻灯片中!")

解释

该脚本向幻灯片中插入一张图片。图像在许多演示文稿中都是不可或缺的一部分,通过此脚本,可以快速增加视觉元素。


6. 创建带动画效果的幻灯片

from pptx.util import Inches

# 向幻灯片中添加具有动画的形状
def add_shape_with_animation(file_name):
    prs 
= Presentation(file_name)
    slide = prs.slides.add_slide(prs.slide_layouts[5])  # 添加空白幻灯片
    left = top = Inches(2)
    width = height = Inches(2)

    shape = slide.shapes.add_shape(MSO_SHAPE.CIRCLE, left, top, width, height)  # 添加圆形
    shape.fill.solid()  # 设置填充颜色
    shape.fill.fore_color.rgb = RGBColor(25500)  # 红色

    prs.save(file_name)

add_shape_with_animation('example.pptx')
print("带动画效果的形状已成功添加!")

解释

这个脚本在幻灯片中添加一个带有动画效果的形状。虽然python-pptx库对动画支持有限,但可以通过设置形状的属性来增强演示效果。


7. 创建带表格的幻灯片

# 在幻灯片中添加表格
def add_table_to_slide(file_name):
    prs 
= Presentation(file_name)
    slide = prs.slides.add_slide(prs.slide_layouts[5])  # 添加空白幻灯片

    rows, cols = 32
    table = slide.shapes.add_table(rows, cols, Inches(2), Inches(2), Inches(5), Inches(2)).table

    # 填充表格数据
    table.cell(00).text = '列1'
    table.cell(01).text = '列2'
    table.cell(10).text = '数据1'
    table.cell(11).text = '数据2'
    table.cell(20).text = '数据3'
    table.cell(21).text = '数据4'

    prs.save(file_name)

add_table_to_slide('example.pptx')
print("表格已成功添加到幻灯片中!")

解释

该脚本在幻灯片中添加一个简单的表格。表格可以用来清晰地展示分类数据,是演示中非常实用的元素。


8. 导出PPT为PDF格式

import os

# 将PPT导出为PDF文件
def convert_ppt_to_pdf(ppt_file, pdf_file):
    from comtypes.client import CreateObject

    powerpoint 
= CreateObject("Powerpoint.Application")
    powerpoint.Visible = 1
    deck = powerpoint.Presentations.Open(ppt_file)
    deck.SaveAs(pdf_file, 32)  # 32表示pdf格式
    deck.Close()
    powerpoint.Quit()

convert_ppt_to_pdf('example.pptx''example.pdf')
print("PPT已成功转换为PDF格式!")

解释

此脚本将PPT文件转换为PDF格式。对于需要分享或打印的演示文稿,将其转换为PDF是一种常见做法,可以确保文件格式不被更改。


9. 列出所有幻灯片的标题

# 列出PPT中所有幻灯片的标题
def list_slide_titles(file_name):
    prs 
= Presentation(file_name)
    titles = [slide.shapes.title.text for slide in prs.slides if slide.shapes.title]
    return titles

titles = list_slide_titles('example.pptx')
print("幻灯片标题如下:")
for title in titles:
    print(title)

解释

该脚本提取PPT中所有幻灯片的标题并打印。这非常有用,特别是在需要快速了解演示文稿结构时,帮助用户快速识别重点内容。


10. 保存PPT副本

# 保存PPT文档的副本
def save_ppt_copy(original_file, copy_file):
    prs 
= Presentation(original_file)
    prs.save(copy_file)

save_ppt_copy('example.pptx''copy_of_example.pptx')
print("PPT副本已成功保存!")

解释

此脚本将PPT文件保存为副本,便于备份或版本控制。在进行重大更改之前,总是建议先保存一个副本,以保护原始文件。


以上就是10个实用的Python PPT自动化脚本示例,希望能够帮助你在PowerPoint演示文稿处理和自动化方面提高效率!

这些简单的示例展示了Python在处理PPT中的强大能力,同时也激发你进一步探索的兴趣。如果你有任何问题或想法,欢迎随时交流!


全套Python学习资料分享:

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。


二、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。


三、python入门资料大全


四、python进阶资料大全


五、python爬虫专栏


六、入门学习视频全套

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。


七、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。


八、python最新面试题

获取资料:

1、点赞+再看

2、关注公众号【印象Python

3、公众号内回复【获取2024最新Python全套资料大全】即可

程序员老任
老任,职场10年老兵,洞察各类职场,分享职场干货经验和身边趣事,348万打工人都爱看的干货号!
 最新文章