python-pptx 将现有ppt的每张幻灯片保存为图片

     2023-05-07     126

关键词:

【中文标题】python-pptx 将现有ppt的每张幻灯片保存为图片【英文标题】:python-pptx save each slide of an existing ppt as picture 【发布时间】:2018-04-13 09:08:02 【问题描述】:

我正在使用 power point 作为网页的用户界面来制作简单的图片。我今天要做的是在ppt中创建幻灯片,然后将每张幻灯片保存为图片,然后我的网站会下载图片并显示它。我想尽可能地自动化这个过程,以摆脱这种手动保存。

我查看了 python-pptx 包,但找不到可以将每张幻灯片保存为图片的功能。你能帮帮我吗?

【问题讨论】:

【参考方案1】:

python-pptx 不是此任务的正确工具,因为它根本不与 PowerPoint 交互(它可以在没有安装 PowerPoint 版本的情况下工作)。如果您的系统上安装了 PowerPoint,您可以使用例如comtypes 模块从 python 控制它。可以在python-pptx-interface 模块中找到如何执行此操作的示例:

 from comtypes.client import Constants, CreateObject

# ...

def save_pptx_as_png(png_foldername: str, pptx_filename: str, overwrite_folder: bool = False):
    if os.path.isdir(png_foldername) and not overwrite_folder:
        print(f"Folder png_foldername already exists. "
              f"Set overwrite_folder=True, if you want to overwrite folder content.")
        return

    powerpoint = CreateObject("Powerpoint.Application")
    pp_constants = Constants(powerpoint)

    pres = powerpoint.Presentations.Open(pptx_filename)
    pres.SaveAs(png_foldername, pp_constants.ppSaveAsPNG)
    pres.close()
    if powerpoint.Presentations.Count == 0:  # only close, when no other Presentations are open!
        powerpoint.quit()

这应该给你一个想法,如何编写自己的 save_as_png 函数。

或者你直接使用python-pptx-interface:

from pptx_tools import utils  # needs python-pptx-interface installed
# you should use full paths, to make sure PowerPoint can handle the paths
png_folder = ...
pptx_file = ... 

utils.save_pptx_as_png(png_folder, pptx_file)  # additional optional parameter overwrite_folder

【讨论】:

使用python-pptx创建ppt演示文档功能实践(代码片段)

python对PPT演示文档读写,是通过第三方库python-pptx实现的,python-pptx是用于创建和更新PowerPoint(.pptx)文件的Python库。关于PPT演示文档与幻灯片模板的内容不是本文的重点,在此略过。1.PPT基本结构在python-pptx下... 查看详情

通过VBA在PPT的后台自动设置每张幻灯片播放的音频[关闭]

】通过VBA在PPT的后台自动设置每张幻灯片播放的音频[关闭]【英文标题】:SettheaudioofeachslideplayautomaticallyinthebackgroundinPPTviaVBA[closed]【发布时间】:2020-04-1016:43:13【问题描述】:我有一个PPT文件,每张幻灯片都包含一个音频(MP3)。... 查看详情

在 python-pptx 中使用循环创建多张幻灯片并将数据帧写入幻灯片

】在python-pptx中使用循环创建多张幻灯片并将数据帧写入幻灯片【英文标题】:Usingloopsinpython-pptxtocreatemultipleslidesandwritingdataframetoslides【发布时间】:2020-04-1506:37:54【问题描述】:我有以下代码用于从数据框创建ppt:下面是3张幻... 查看详情

jQuery 幻灯片:如何修改此代码以显示每张幻灯片的自定义寻呼机?

】jQuery幻灯片:如何修改此代码以显示每张幻灯片的自定义寻呼机?【英文标题】:jQueryslideshow:howdoImodifythiscodetoshowacustompagerperslide?【发布时间】:2010-09-1717:37:23【问题描述】:现在,代码正在为每张现有幻灯片吐出1个寻呼机... 查看详情

从 ppt 幻灯片中提取所有标题(标题)

】从ppt幻灯片中提取所有标题(标题)【英文标题】:extractalltheheadings(titles)fromapptslides【发布时间】:2019-11-1517:10:18【问题描述】:我正在寻找仅从每张幻灯片中提取标题的代码。有没有可用的python函数。任何帮助表示赞赏。... 查看详情

纯 Css Slider 无法向每张幻灯片添加文本

】纯CssSlider无法向每张幻灯片添加文本【英文标题】:PureCssSlidercannotaddtexttoeachslide【发布时间】:2021-05-1822:23:00【问题描述】:我一直在尝试修复这个纯CSS滑块,但我无法将文本附加到滑块的中心,并为每张幻灯片添加自定义... 查看详情

如何在 Linux 上将 pptx 文件转换为 jpg 或 png(对于每张幻灯片)?

】如何在Linux上将pptx文件转换为jpg或png(对于每张幻灯片)?【英文标题】:Howtoconvertpptxfilestojpgorpng(foreachslide)onlinux?【发布时间】:2014-02-2616:44:30【问题描述】:我想将一个powerpoint演示文稿转换为多个图像。我已经在我的服务... 查看详情

将ppt幻灯片转为word文档的简单应用

...。有时候我们也会遇到要将ppt转换成word的时候, PPT幻灯片文件的应用特别广泛,上学时老师上课会用它辅助讲解,上班后会议室的老板会用它展示他想表达的关键词。同时,不仅可以在计算机上进行演示,也可以在投影仪... 查看详情

如何调整ppt中文本框的位置

...以上版本中可保存为视频格式。演示文稿中的每一页就叫幻灯片,每张幻灯片都是演示文稿中既相互独立又相互联系的内容。 查看详情

javascriptjs:slick:每张幻灯片的进度条(代码片段)

查看详情

Bootstrap 4 Carousel:每张幻灯片上的单独数据间隔

】Bootstrap4Carousel:每张幻灯片上的单独数据间隔【英文标题】:Bootstrap4Carousel:Individualdata-intervaloneachslide【发布时间】:2018-11-3018:22:11【问题描述】:我想为轮播的每张幻灯片设置数据间隔。在***上,我找到了适用于这种情况的J... 查看详情

使用 React Slick 滑块在每张幻灯片中添加点

】使用ReactSlick滑块在每张幻灯片中添加点【英文标题】:AdddotsineachslidewithReactSlickslider【发布时间】:2018-11-1221:38:21【问题描述】:对于React.js中的滑块,我使用ReactSlick。使用此API,我们可以使用PreviousandNextmethods在每张幻灯片... 查看详情

怎样设置幻灯片版式

...的PPT。本经验中我们将重点讨论如何设置PPT的版式,通过幻灯片版式的应用可以对文字、图片等等更加合理简洁完成布局,版式有文字版式、内容版式、文字板式和内容版式与其他版式这四个版式组成。好了,我们的教程开始了... 查看详情

Bash - 将 odp / ppt 幻灯片导出为图像

】Bash-将odp/ppt幻灯片导出为图像【英文标题】:Bash-Exportodp/pptslidesasimages【发布时间】:2011-09-2011:23:25【问题描述】:是否可以使用unoconv将odp/ppt幻灯片导出为图像?例如,unoconv-fpngPresentation.ppt但是这个unoconv命令只将第一张幻灯... 查看详情

将latex的beamer做的幻灯片转换为ppt格式后的一些问题

由于雨课堂采取了ppt插件的形式运行,所以latex做出的pdf必然需要转成ppt,才能在主调窗口直接运行。好在目前版本的acrobatdc转后的pptx,效果比以前好很多,仅仅个别中文文字出现误转的情况,需要手动再修改。但是需要注意的... 查看详情

请问如何将此图用php或者python复原?

...自己去研究吧。参考技术A前面我们使用python的第三方库python-pptx制作了一个如何从pptx中提取所有文本?python-pptx实例:提取文本工具,并且还录制了制作过程的视频:python-pptx实例_输出pptx所有文本_01python-pptx实例_输出pptx所有文... 查看详情

如何在ppt中插入动态的时间和日期

...第三步中单击“应用”按钮即可。猜你喜欢:1.ppt幻灯片中如何加入秒钟插件2.ppt2010怎么插入打印机动画3.ppt如何设置自 查看详情

使用 xaringan 设置默认内容类

...描述】:我想设置一组适用于我的xaringan演示文稿的所有幻灯片的默认幻灯片内容类。这样我就不用写了class:someclass在每张幻灯片的顶部。我猜这可以通过使用模板来设置,但我仍然需要记住将这些信息复制到每张幻灯片。可以... 查看详情