用Python一键生成PNG图片的PowerPoint幻灯片

在当今的商业环境中,PowerPoint演示是展示和传递信息的常用方式。然而,手动将大量图像插入到幻灯片中往往是一项乏味且耗时的工作。但是,通过Python编程,我们可以轻松自动化这个过程,节省时间和精力。

C:\pythoncode\new\folderTOppt.py

在本文中,我将介绍如何使用Python、wxPython和python-pptx库编写一个脚本,将指定文件夹中的所有PNG图像逐一插入到一个新的PowerPoint演示文稿中,每张图像占据一个全尺寸幻灯片。无需手动操作,只需运行这个脚本,就可以快速生成包含所有PNG图像的演示文稿。

第一步:安装所需的Python库
要运行此脚本,我们需要安装以下Python库:

- wxPython: 用于创建图形用户界面(GUI),让用户选择图像文件夹。
- python-pptx: 用于创建和操作PowerPoint演示文稿。

您可以使用Python的包管理器pip来安装这些库:

pip install wxpython python-pptx

第二步:编写Python脚本
以下是完整的Python脚本代码:

import wx
import os
import pptx
from pptx.util import Inches, Pt# 创建wxPython应用程序
app = wx.App()# 创建文件夹选择对话框
dialog = wx.DirDialog(None, "选择文件夹", style=wx.DD_DEFAULT_STYLE)
if dialog.ShowModal() == wx.ID_OK:folder_path = dialog.GetPath()
else:print("未选择有效的文件夹")exit()dialog.Destroy()# 创建新的PowerPoint演示文稿
ppt = pptx.Presentation()# 获取幻灯片的宽度和高度
slide_width = int(ppt.slide_width.inches * 914400)  # 将英寸转换为pptx单位
slide_height = int(ppt.slide_height.inches * 914400)  # 将英寸转换为pptx单位# 遍历文件夹中的所有PNG文件
for filename in os.listdir(folder_path):if filename.endswith(".png"):# 获取图像文件路径image_path = os.path.join(folder_path, filename)# 创建新的幻灯片slide = ppt.slides.add_slide(ppt.slide_layouts[6])  # 使用空白布局# 在幻灯片中添加图像picture = slide.shapes.add_picture(image_path, Inches(0), Inches(0), height=slide_height)# 计算等比例缩放后的图像大小picture_width = picture.widthpicture_height = picture.heightmax_picture_width = slide_width - int(Inches(1).inches * 914400)  # 减去1英寸边距max_picture_height = slide_height - int(Inches(1).inches * 914400)  # 减去1英寸边距scale_ratio = min(max_picture_width / picture_width, max_picture_height / picture_height)new_picture_width = int(picture_width * scale_ratio)new_picture_height = int(picture_height * scale_ratio)# 设置图像的大小和位置picture.left = (slide_width - new_picture_width) // 2picture.top = (slide_height - new_picture_height) // 2picture.width = new_picture_widthpicture.height = new_picture_height# 保存PowerPoint演示文稿
save_dialog = wx.FileDialog(None, "保存PowerPoint文件", wildcard="PowerPoint文件 (*.pptx)|*.pptx", style=wx.FD_SAVE | wx.FD_OVERWRITE_PROMPT)
if save_dialog.ShowModal() == wx.ID_OK:ppt_file_path = save_dialog.GetPath()ppt.save(ppt_file_path)
else:print("未选择有效的保存路径")save_dialog.Destroy()

让我们逐步解释这段代码:

1. 首先,我们导入所需的Python库:wxPython用于创建GUI,os用于文件操作,pptx用于创建和操作PowerPoint文件。

2. 然后,我们创建一个wxPython应用程序和一个文件夹选择对话框,让用户选择包含PNG图像的文件夹。

3. 接下来,我们创建一个新的PowerPoint演示文稿,并获取幻灯片的宽度和高度(以pptx单位表示)。

4. 我们遍历选定文件夹中的所有PNG文件。对于每个PNG文件:
   - 我们创建一个新的幻灯片,使用空白布局。
   - 我们在幻灯片中添加该PNG图像,并根据图像的宽高比,按等比例缩放图像以适应幻灯片大小,同时保留1英寸的边距。
   - 我们将缩放后的图像居中显示在幻灯片上。

5. 最后,我们打开另一个文件对话框,让用户选择保存PowerPoint文件的位置,并将演示文稿保存到指定位置。

就是这样!通过运行这个Python脚本,您可以轻松地将一个文件夹中的所有PNG图像插入到一个新的PowerPoint演示文稿中,每张图像占据一个全尺寸幻灯片。这不仅节省了大量时间,而且确保了所有图像的一致性和专业外观。

无论您是需要准备产品演示、培训材料还是图片集锦,这个脚本都将为您提供极大的便利。尝试一下吧,让Python释放您的工作效率!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/15081.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C++初阶】vector

✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅✅ ✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨ 🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿🌿&#x1…

在winnas中使用docker desktop遇到的问题及解决方法记录

最近在尝试从群晖转向winnas,一些简单的服务依然计划使用docker来部署。群晖的docker简单易用且稳定,在win上使用docker desktop过程中遇到了不少问题,在此记录一下以供后来人参考。 一、安装docker desktop后启动时遇到无法启动docker引擎 …

【Unity AR开发插件】四、制作热更数据-AR图片识别场景

专栏 本专栏将介绍如何使用这个支持热更的AR开发插件,快速地开发AR应用。 链接: Unity开发AR系列 插件简介 通过热更技术实现动态地加载AR场景,简化了AR开发流程,让用户可更多地关注Unity场景内容的制作。 “EnvInstaller…”支…

2024年电工杯数学建模竞赛A题完整解析 | 代码 论文分享

A 题 问题一1.1问题分析1.2第一问1.2.1指标定义1.2.2结果计算1.2.3关键因素分析 1.3第二问1.3.1模型建立1.3.2算法求解1.3.3求解结果 1.4第三问1.4.1模型建立1.4.2计算结果 第二题2.1 问题分析2.2第一问2.2.1指标计算 数据与代码代码分享完整资料 A题的问题一和问题二终于完成啦…

vue 纵向滚动菜单, 点击滚动到选中菜单

1 背景 需要设计一个纵向滚动菜单,要求丝滑点,默认显示选中菜单 2 思路 给定一个容器,样式包含overflow:hidden,默认高宽足够显示一个菜单(以下用图标代替菜单),鼠标悬浮时增大容器高度&#…

电能抄表是什么?

1.电能抄表的概念和功能 电能抄表,说白了,是一种用于数据记录载入电力工程使用量的机器。它主要职能精确测量做好记录客户在一定时间内的耗电量,为供电公司提供准确的收费根据。电能抄表的应用,不仅方便了电费的清算,…

NSSCTF | [SWPUCTF 2021 新生赛]no_wakeup

打开题目后&#xff0c;点击三个&#xff1f;&#xff0c;发现是一个php序列化脚本 <?phpheader("Content-type:text/html;charsetutf-8"); error_reporting(0); show_source("class.php");class HaHaHa{public $admin;public $passwd;public function…

结构体变量的创建和初始化以及内存对齐

前言 嗨&#xff0c;我是firdawn&#xff0c;在本章中我们将介绍&#xff0c;结构体变量的创建和初始化&#xff0c;结构成员访问操作符以及结构体的内存对齐&#xff0c;下面是本章的思维导图&#xff0c;接下来&#xff0c;让我们开始今天的学习吧&#xff01; 一&#xf…

电脑远程控制另一台电脑怎么弄?

可以远程控制另一台电脑吗&#xff1f; “你好&#xff0c;我对远程访问技术不太了解。现在&#xff0c;我希望我的朋友可以远程控制我的Windows 10电脑&#xff0c;以便她能帮我解决一些问题。请问&#xff0c;有没有免费的方法可以实现这种远程控制&#xff1f;我该如何操作…

继“三级淋巴结”之后,再看看“单细胞”如何与AI结合【医学AI|顶刊速递|05-25】

小罗碎碎念 24-05-25文献速递 今天想和大家分享的是肿瘤治疗领域的另一个热点——单细胞技术&#xff0c;我们一起来看看&#xff0c;最新出炉的顶刊&#xff0c;是如何把AI与单细胞结合起来的。 另外&#xff0c;今天是周末&#xff0c;所以会有两篇文章——一篇文献速递&…

【Unitydemo制作】音游制作—模式玩法的实现

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;就业…

代码随想录算法训练营第十四天(py)| 二叉树 | 递归遍历、迭代遍历、统一迭代

1 理论基础 1.1 二叉树的种类 满二叉树 只有度为0和2的节点&#xff0c;且度为0的节点在同一层。 深度为k&#xff0c;有2^k-1个节点 完全二叉树 除了最底层可能没填满&#xff0c;其余每层节点数都达到最大。并且最底层节点全部集中在左边。 二叉搜索树 是一个有数值…

使用Python将Word文档中的图片提取并生成PowerPoint幻灯片

在这篇博客中&#xff0c;我们将学习如何使用Python将Word文档中的图片提取出来并生成一个PowerPoint幻灯片。我们将借助wxPython、python-docx和python-pptx这三个强大的库来实现这一目标。以下是实现这个功能的完整过程。 C:\pythoncode\new\wordTOppt.py 所需库 首先&…

htb_FormulaX(XSS)

信息收集 常规信息收集 nmap -sV -sC 10.10.11.6开放22&#xff0c;80端口 gobuster dir -u http://10.10.11.6/ -w /usr/share/Seclists-master/Discovery/Web-Content/directory-list-2.3-medium.txt一无所获 80端口-web 注册账户 Chat Now 和 Contact Us是重点 Chat …

台湾省军事演习路径规划:A*算法在复杂地形中的应用

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容&#xff0c;和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣&#xff01; 推荐&#xff1a;数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航&#xff1a; LeetCode解锁100…

【全开源】分类记账小程序系统源码(ThinkPHP+FastAdmin+UniApp)

基于ThinkPHPFastAdminUniAppvk-uView-uiVue3.0开发的一款支持多人协作的记账本小程序&#xff0c;可用于家庭&#xff0c;团队&#xff0c;组织以及个人的日常收支情况记录&#xff0c;支持周月年度统计。 &#xff1a;智能管理您的财务生活 一、引言&#xff1a;财务智能化…

HTTP 错误 404.3 - Not Found 问题处理

问题描述 HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本&#xff0c;请添加处理程序。如果应下载文件&#xff0c;请添加 MIME 映射。 解决对策

如何网页在线编辑 Office word 文档,并支域功能:创建域/插入域/替换域等

在日常在线办公场景中&#xff0c;我们经常会遇到一些复杂的文档编辑需求&#xff0c;特别是我们经常会遇到一些复杂的数学公式&#xff0c;会用到“域”功能&#xff0c;“域”功能便是一个高级且实用的工具。通过设置域&#xff0c;用户可以实现文档的自动化处理&#xff0c;…

【QT实战】汇总导航

✨Welcome 大家好&#xff0c;欢迎来到瑾芳玉洁的博客&#xff01; &#x1f611;励志开源分享诗和代码&#xff0c;三餐却无汤&#xff0c;顿顿都被噎。 &#x1f62d;有幸结识那个值得被认真、被珍惜、被捧在手掌心的女孩&#xff0c;不出意外被敷衍、被唾弃、被埋在了垃圾堆…

捕捉二氧化碳也能赚钱?深入探索CCUS技术与商业前景

引言 随着全球变暖和气候变化的加剧&#xff0c;如何有效减少二氧化碳&#xff08;CO2&#xff09;排放成为各国亟待解决的问题。近日&#xff0c;全球最大的二氧化碳捕集工厂在冰岛正式运营&#xff0c;这一消息引起了广泛关注。本文将深入探讨捕集二氧化碳技术&#xff08;C…