我在网上搜索了几个小时,试图找到一些可以帮助我使用 python 将保存在 ppt 文件类型中的文件转换为 pptx 文件类型的东西。我找到了“python-pptx”并计划使用它来保存文件,但是由于连续错误,这是不可能的:
Package not found at 'FileName.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")
您可以使用 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 工作。
我怀疑 python-pptx 可以解析 .ppt 文件。 (这是一种完全不同的文件格式。)您最好将 PowerPoint 本身自动化 - 以某种方式 - 读取一个并写入另一个。
“以某种方式”取决于您运行的平台 - 以及您可用的自动化功能。
在 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)