我想使用 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 格式?
您可以使用 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)