【办公自动化】使用Python批量生成PPT版荣誉证书

这篇具有很好参考价值的文章主要介绍了【办公自动化】使用Python批量生成PPT版荣誉证书。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【办公自动化】使用Python批量生成PPT版荣誉证书,办公自动化,python,ppt

🤵‍♂️ 个人主页:@艾派森的个人主页

✍🏻作者简介:Python学习者
🐋 希望大家多多支持,我们一起进步!😄
如果文章对你有帮助的话,
欢迎评论 💬点赞👍🏻 收藏 📂加关注+


目录

一、Python处理PPT

二、批量生成PPT版荣誉证书

 三、往期推荐


 文章来源地址https://www.toymoban.com/news/detail-657458.html

一、Python处理PPT

        使用Python处理PPT文件通常需要使用第三方库来简化对PPT文件的读取、写入和修改操作。下面介绍一些常用的Python库和它们的功能:

  1. python-pptx:这是一个流行的Python库,用于创建、读取和修改PPTX(Office Open XML格式)文件。您可以使用它创建新的幻灯片、添加文本、图像和形状,还可以修改幻灯片的样式和布局。

  2. python-pptx-template:这个库在python-pptx的基础上增加了对模板的支持。您可以使用预定义的PPTX文件作为模板,然后在模板的基础上进行修改和生成新的演示文稿。

  3. python-com-pptx:这是一个用于操作PPT文件的Windows COM库。它可以与Microsoft PowerPoint应用程序进行交互,允许您通过Python脚本控制和修改PPT文件。

  4. pptx2pdf:这个库用于将PPT文件转换为PDF格式。它依赖于LibreOffice来进行转换,因此需要确保系统中已安装LibreOffice。

这里是一个使用python-pptx库创建简单幻灯片的示例:

from pptx import Presentation

# 创建一个新的PPT文件
presentation = Presentation()

# 添加一张幻灯片
slide = presentation.slides.add_slide(presentation.slide_layouts[5])

# 在幻灯片中添加标题和内容
title = slide.shapes.title
content = slide.placeholders[1]
title.text = "欢迎使用Python处理PPT"
content.text = "这是一个使用python-pptx库创建的演示文稿示例。"

# 保存PPT文件
presentation.save("example.pptx")

 请注意,您需要在运行脚本之前先安装相应的库。您可以使用pip来安装这些库:

pip install python-pptx
pip install python-pptx-template
pip install comtypes  # 用于python-com-pptx

使用Python处理PPT文件有许多好处:

  1. 自动化:Python可以帮助您自动完成与PowerPoint有关的重复性任务,比如创建演示文稿、更新内容、添加幻灯片或格式化元素。这可以节省大量时间和精力。

  2. 灵活性:Python提供了许多可以操作PPT文件的库和模块,让您可以进行各种操作,包括读取、写入、修改和提取数据。

  3. 库支持:有特定的Python库,如python-pptx,可以简化处理PowerPoint文件的复杂性,提供简单的API供开发人员使用。

  4. 定制化:使用Python,您可以根据动态数据或用户输入来定制PowerPoint演示文稿。例如,您可以将来自不同来源的数据合并到预先设计好的模板中,创建个性化的报告或演示文稿。

  5. 集成性:Python可以轻松与在数据分析、数据处理和报告流程中常用的其他工具和系统集成。这样,您可以将PPT生成与数据处理和分析结合起来,创建全面且有见地的演示文稿。

  6. 文本处理和数据提取:Python强大的文本处理能力使您可以从现有的PowerPoint演示文稿中提取信息。您可以搜索特定文本,从幻灯片中提取数据,甚至生成结构化数据以进行进一步的分析。

  7. 协作:使用Python处理PPT文件,您可以促进团队成员之间的协作,使他们可以以编程方式生成和更新演示文稿,减少手动错误并确保一致性。

  8. 跨平台:Python是一种跨平台语言,这意味着您的PPT处理脚本可以在不同的操作系统上运行,提供了灵活性和便捷性。

  9. 节省成本:Python是一种开源语言,用于PPT处理的库也是免费提供的。这使得Python成为处理PowerPoint文件的一种经济高效的解决方案。

        总的来说,Python的简单性、丰富的库支持和自动化任务的能力使其成为处理PowerPoint文件的优秀选择,无论您是想自动化演示文稿、从幻灯片中分析数据还是生成动态报告。

二、批量生成PPT版荣誉证书

技术工具:

Python版本:3.9

代码编辑器:jupyter notebook

        每到学期末,幼儿园的小朋友除了让家长带上床上用品等回家,还有一张“好孩子”的“荣誉证书”。这个不像大朋友或者成人的荣誉证书,必须是通过激烈竞争而只有少数人才能获得的。这个可是人手一份的,大家都是“好孩子”。如果有小朋友没有拿到这个荣誉证书,家长和小孩子可不愿意了,非得找老师理论不可,哈哈。朋友所在的幼儿园每学期都要搞这个事情,整个幼儿园近400份荣誉证书,一个一个填写,专人要填几天。这不,这次园长让朋友来填,真愁死人了!于是朋友跑来亲切地询问我是否可以代劳。好吧,朋友相求,必须拍胸脯保证行啊。

        此处,需要用到第三方库`pptx`。这个是专门用来创建和修改PPT幻灯片的库(PPT文件必须是.pptx为后缀的)。我们先安装这个库,步骤如下:

 1. Windows徽标键+字母键R,输入"cmd”运行命令输入窗口

【办公自动化】使用Python批量生成PPT版荣誉证书,办公自动化,python,ppt

2. 输入"pip install python-pptx",耐心等待下载及安装

 【办公自动化】使用Python批量生成PPT版荣誉证书,办公自动化,python,ppt

        有时候网络太差,下载到中途会崩溃,也可以直接去这个库所在的网站(https://pypi.org/project/python-pptx/#files )用迅雷下载到本地盘,再安装。比如我将这个下载好的压缩文件解压到E盘,然后打开运行cmd,输入"E:"进入E盘,再输入"cd python-pptx-0.6.18"进入其所在文件夹,最后输入"python setup.py install"进行安装。 

【办公自动化】使用Python批量生成PPT版荣誉证书,办公自动化,python,ppt

 如下是安装完成的提示,然后就可以使用了。

【办公自动化】使用Python批量生成PPT版荣誉证书,办公自动化,python,ppt

首先,需要在幻灯片母版的第一个版式中设置好模板,以便后面用程序调用:

【办公自动化】使用Python批量生成PPT版荣誉证书,办公自动化,python,ppt

此处,模板中插入了一张荣誉证书的背景图片,然后将文字部分分成了6个文本框(可根据实际情况灵活调整),在其中填入内容,设置好字体和字号。 

         在power point软件中设置好模板之后,需要用程序读取一下模板中的文本框所对应的编号,即占位符(placeholder)的ID。由于PPT中一页幻灯片的占位符编号随着PPT的不断更改,不一定是按1,2,3这样的顺序排列的,只有读取一下才知道。

from pptx import Presentation
prs = Presentation('data\荣誉证书模板.pptx')
slide = prs.slides.add_slide(prs.slide_layouts[0]) # 第一个模板的第0个板式
for ph in slide.placeholders: #遍历这页PPT的所有占位符
    phf = ph.placeholder_format #获取占位符的格式
    print(phf.idx) #打印其ID编号
    ph.text = str(phf.idx)# 将编号写入PPT对应的位置中,以便后面一一对应
# 以上读取到占位符的ID方便后面调用
prs.save('data\荣誉证书模板-占位符编号.pptx')

 【办公自动化】使用Python批量生成PPT版荣誉证书,办公自动化,python,ppt

        以上,我们先导入安装好的`pptx`库中的`Presentation`(演示文稿/幻灯片)模块,然后打开对应路径下的PPT模板,并存入`prs`变量。然后通过`prs.slides.add_slide`以母版中的第一个模板新增1张幻灯片。模板的版式编号是从0开始的,所以第一个版式对应的是`[0]`。然后遍历这页PPT的所有占位符,获取其占位符的格式,存入`phf`变量。然后通过`phf.idx`打印其ID编号。如上,我们可以看到结果。随后通过`ph.text`将编号写入PPT对应的位置中,以便后面一一对应。由下图可见,其编号从上到下是10~15。 

【办公自动化】使用Python批量生成PPT版荣誉证书,办公自动化,python,ppt

        模板做好,占位符ID确定后,就需要读取幼儿园所有小朋友的班级和名字信息,然后写入了。小朋友的信息存在现有的Excel表格中,使用`openpyxl`库读取出来即可。下面就来读取吧。 

from openpyxl import load_workbook
wb = load_workbook("data\名单.xlsx")
ws = wb.active
data={}
for row in range(2,ws.max_row+1):
    class_id = ws['A' + str(row)].value
    name = ws['B' + str(row)].value 
    data.setdefault(class_id,[])
    data[class_id].append(name)
data['小一'][:10]

【办公自动化】使用Python批量生成PPT版荣誉证书,办公自动化,python,ppt

        以上,将名单中的班级和姓名信息按“班级”为键,“姓名”组成的列表为值存入字典`data`。通过`data['小一'][:10]`查看一下小一班前10个同学的数据。下面开始批量写入PPT。 

import time
t0=time.time()# 程序开始运行的时间

prs = Presentation('data\荣誉证书模板.pptx')
slide_layout = prs.slide_layouts[0] #调用设置好的母版,因为是母版的第一版式,所以取[0]
for class_id in data:
    for name in data[class_id]:
        slide = prs.slides.add_slide(slide_layout) #以母版的版式为基础新增一页幻灯片
        #往幻灯片中写入内容
        slide.placeholders[10].text = "{} 班 {} 同学:".format(class_id,name) #此处是班级和姓名
        slide.placeholders[11].text = "在2019-2020学年度第一学期获得"
        slide.placeholders[12].text = "“好孩子”称号。"
        slide.placeholders[13].text = "特发此证,以资鼓励。"
        slide.placeholders[14].text = "市幼儿园"
        slide.placeholders[15].text = "2020年1月"
prs.save('data\荣誉证书(总).pptx')
t1 = time.time()

print('程序用时:',str(round(t1-t0))+'秒。')

【办公自动化】使用Python批量生成PPT版荣誉证书,办公自动化,python,ppt

        400名小朋友的奖状只用了8秒钟写完。以上,通过`for`循环先获取班级,然后第二个`for`循环获取该班级下面对应的姓名,对于每个姓名,通过`prs.slides.add_slide`新建一页幻灯片,然后按我们先前获取的占位符ID,写入内容。除了班级和姓名,其它都是固定的内容。写入完成后,保存打印即可。而且PPT里是按班级排序的,这样每个班级的荣誉证书在打印后会集中在一起,方便区分。 

【办公自动化】使用Python批量生成PPT版荣誉证书,办公自动化,python,ppt

 三、往期推荐

Python提取pdf中的表格数据(附实战案例)

使用Python自动发送邮件

Python操作ppt和pdf基础

Python操作word基础

Python操作excel基础

使用Python一键提取PDF中的表格到Excel

 

到了这里,关于【办公自动化】使用Python批量生成PPT版荣誉证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • python自动化办公——读取PPT写入word表格

    📖由于我们知识图谱课程需要将课堂小组汇报的PPT总结成word文档,而我觉得一页一页复制PPT中的内容比较麻烦,所以直接安排:读PPT写word 🚗需要操作PPT幻灯片和word文档,所以需要导入docx 和pptx两个包 这里我的docx使用的是0.2.4版本 pptx使用的是0.6.21版本供参考 引入os、ppt

    2024年02月11日
    浏览(29)
  • python-自动化篇-办公-批量新建文件夹并保存日志信息

    因为业务需要,每天都需要按当天的日期创建很多新文件夹。把这种重复又繁重的操作交给Python来做,一直是我的目标。先说下要求: 默认在桌面新建文件夹。 文件夹命名方式,“月.日-1”,比如7.8-1,7.8-2。7是代表当天的月份,不能显示07。8是代表当天的日期,不能显示

    2024年02月20日
    浏览(36)
  • python从小白到大师-第一章Python应用(七)应用领域与常见包-自动化办公PPT

    目录 一.pywin32com 二.pptx Pywin32com是一个Python库,它提供了与Microsoft Windows操作系统交互的能力。它基于COM(Component Object Model)技术,允许开发人员使用Python操作Windows应用程序、文件系统、注册表和其他Windows组件。 Pywin32com提供了广泛的功能,包括: 控制Microsoft Office套件中的

    2024年02月21日
    浏览(29)
  • python自动化办公——定制化将电子签名批量签写到PDF文件

    首先需要下载所需要的库 此外还需要下载poppler,这里使用的是poppler-0.67.0 这是一个处理PDF文件的工具包,里面包含了非常多的功能供我们使用。 下载地址:https://blog.alivate.com.au/poppler-windows/ 下载完压缩包之后,将压缩包解压到本地的某个地方,并记好路径。 现需要将类似这

    2024年02月09日
    浏览(46)
  • Word、Excel、PPT题库——“办公自动化”

    小雅兰期末加油冲冲冲!!! 1. 【单选题】下列文件扩展名,不属于Word模板文件的是( A )。 A. .DOCX B. .DOTM C. .DOTX D. .DOT 本题的考查点是word基本知识的了解。     .DOCX:word文档。     .DOTM:启用宏的word模板。     .DOTX:word模板。     .DOT:word 97-2003模板。     故本题答案为

    2024年02月07日
    浏览(54)
  • 【ChatGPT实战】6.使用ChatGPT自动化生成PPT

    如果需要使用ChatGPT生成PPT,我相信看了上一篇Excel教程的读者,就会想到也通过ChatGPT生成VBA代码,再通过运行VBA代码的方式来自动生成PPT。 理论上是可以的,但是当你实际操作的时候会发现很难实现。因为PPT包含的元素实在是太多了,每张幻灯片都有标题和正文、都有不同

    2024年02月08日
    浏览(33)
  • ssm+vue小型企业办公自动化系统源码和论文PPT

    ssm+vue小型企业办公自动化系统源码和论文PPT013 开发工具:idea   数据库mysql5.7+(mysql5.7最佳)  数据库链接工具:navcat,小海豚等 开发技术:java  ssm tomcat8.5 摘  要 互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过

    2024年02月12日
    浏览(27)
  • Python实现自动化办公(使用第三方库操作Excel)

    相关知识: 获取所有工作表的数目 获取所有工作表的名称 获取一张表中单元格的行数 获取一张表中单元格的列数   批量读取数据:【代码】 注意openpyxl 和前面的xlrd不一样,openpyxl读取的行列是从1开始的,这就对应了Excel表格中的行列的位置 读取所有行中的所有单元格,并

    2024年01月19日
    浏览(33)
  • 【办公自动化】使用Python一键提取PDF中的表格到Excel

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 一、Python处理Excel 二、提取PDF表格到excel 三、往期推荐 文末推荐  文末福利   Pyth

    2024年02月13日
    浏览(40)
  • 【办公自动化】使用Python一键提取PDF中的表格到Excel(文末送书5本)

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 一、Python处理Excel 二、提取PDF表格到excel 三、往期推荐 文末推荐  文末福利   Pyth

    2024年02月14日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包