使用 Python 3 将 PowerPoint PPT 文件转换为 PPTX

问题描述 投票:0回答:3

我想使用 python 将以 ppt 文件类型保存的文件转换为 pptx 文件类型。我找到了“python-pptx”并计划使用它来保存文件,但是由于错误而无法实现:

在“文件名.ppt”处找不到包

我发现了另一篇文章(Convert ppt file to pptx in Python),这对我没有任何帮助。我认为这是因为我的Python版本可能太高了。 (3.9) 在阅读了让 win32com.client 工作并安装多个 pip 和 pip3 命令后,它仍然无法工作。

我当前的非工作代码尝试:

from pptx import *

prs = Presentation("FileName.ppt")
prs.save("FileName.pptx")

如何将此 .ppt 文件转换为 .pptx 格式?

python python-3.x powerpoint python-pptx
3个回答
2
投票

您可以使用 Aspose.Slides for .NET 和 Python.NET 包将 PPT 转换为 PPTX,如下所示:

import clr
clr.AddReference('Aspose.Slides')
from Aspose.Slides import Presentation
from Aspose.Slides.Export import SaveFormat


# Instantiate a Presentation object that represents a PPT file
presentation = Presentation("presentation.ppt")

# Save the presentation as PPTX
presentation.Save("presentation.pptx", SaveFormat.Pptx)

我们的网络应用程序使用我们的库,您可以在此处看到转换结果。

我在 Aspose 工作。


1
投票

我怀疑 python-pptx 可以解析 .ppt 文件。 (这是一种完全不同的文件格式。)您最好将 PowerPoint 本身自动化 - 以某种方式 - 读取一个并写入另一个。

“以某种方式”取决于您运行的平台 - 以及您可用的自动化功能。


0
投票

这在 anaconda 3 + jupyter 笔记本上完美运行

from glob import glob
import re
import os
import win32com.client

paths = glob('C:\\yourfilePath\\*.ppt', recursive=True)

def save_as_pptx(path):
    PptApp = win32com.client.Dispatch("Powerpoint.Application")
    PptApp.Visible = True
    PPtPresentation = PptApp.Presentations.Open(path)
    PPtPresentation.SaveAs(path+'x', 24)
    PPtPresentation.close()
    PptApp.Quit()
    
for path in paths:
    print(path.replace("\\yourfile\\", "\\yourfile_pptx\\"))
    save_as_pptx(path)
© www.soinside.com 2019 - 2024. All rights reserved.