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

jgwigjjp  于 12个月前  发布在  Python
关注(0)|答案(3)|浏览(148)

我想使用Python将保存在 ppt 文件类型中的文件转换为 pptx 文件类型。我发现“python-pptx”并计划使用它来保存文件,但由于错误,这是不可能的:
未在'fileName.ppt'找到包
我发现另一篇文章(Convert ppt file to pptx in Python)对我一点帮助都没有。我想这是因为我的Python版本可能太高了。(3.9)在阅读了让win32com.client工作并安装了多个pip和pip 3命令后,它仍然不工作。
我目前的,不工作的代码尝试:

from pptx import *

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

字符串
如何将此.ppt文件转换为.pptx?

ktecyv1j

ktecyv1j1#

您可以使用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)

字符串
我们的Web应用程序使用我们的库,您可以看到转换结果here

  • 免责声明:我在Aspose工作。*
s3fp2yjn

s3fp2yjn2#

我怀疑python-pptx是否可以解析.ppt文件。(这是一种完全不同的文件格式。)你最好自动化PowerPoint本身-以某种方式-读取一个并编写另一个。
“以某种方式”取决于您运行的平台-以及您可用的自动化功能。

63lcw9qa

63lcw9qa3#

这在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)

字符串

相关问题