Python 如何从PowerPoint文件创建一组图像文件?

Python 如何从PowerPoint文件创建一组图像文件?,python,powerpoint,jpeg,Python,Powerpoint,Jpeg,我正在创建一个“幻灯片室”网页。用户将上载一个PowerPoint文件,我的服务器将使用该文件生成一组.jpg图像文件,这些文件表示要在自定义“多媒体资料查看器”中显示的幻灯片 我是一名经验丰富的Python开发人员,但我找不到任何有用的东西 我怎样才能做到这一点呢?在我脑海中,我会这样做: 使用OpenOffice.org将.ppt文件转换为PDF。(OO.o有一个非常丰富的Java API。它非常丰富,而且非常难使用,记住,但是一旦你知道如何让它完成你需要的任务,你就一切就绪了。不知道你是否

我正在创建一个“幻灯片室”网页。用户将上载一个PowerPoint文件,我的服务器将使用该文件生成一组.jpg图像文件,这些文件表示要在自定义“多媒体资料查看器”中显示的幻灯片

我是一名经验丰富的Python开发人员,但我找不到任何有用的东西


我怎样才能做到这一点呢?

在我脑海中,我会这样做:

  • 使用OpenOffice.org将.ppt文件转换为PDF。(OO.o有一个非常丰富的Java API。它非常丰富,而且非常难使用,记住,但是一旦你知道如何让它完成你需要的任务,你就一切就绪了。不知道你是否可以通过Python用它做任何有用的事情;不是我的语言。)
  • 使用ImageMagick将PDF转换为.jpg文件。(虽然有人告诉我,在将PDF文件转换为图像之前,先将其转换为PS文件会有更好的效果。)(IM的命令行界面本身几乎就是一种语言——不过,再一次,一旦你知道如何让它做你想做的事,你就一切就绪了。)
    不知道这是否是最有效/可靠的方法。但从根本上说,我会在谷歌上搜索开源的第三方工具,这些工具为我做了所有的脏活。

    你是在Windows上这样做的吗?如果是win32 com:

    import win32com.client
    Application = win32com.client.Dispatch("PowerPoint.Application")
    Application.Visible = True
    Presentation = Application.Presentations.Open(pathToPPT)
    Presentation.Slides[1].Export("C:/path/to/jpg.jpg", "JPG", 800, 600);
    etc...
    

    Apache和Jython。POI甚至有一个ImageExtractor类,但只要浏览一下Javadocs,我怀疑它是不完整的。

    +1 for ImageMagick。我会使用PythonMagick()(ImageMagickAPI上的Python绑定)而不是CLI。不是向下投票,但这不要求您在Web服务器上安装PowerPoint吗?对我来说,这似乎是一种严重的依赖(并且有效地将你锁定在Windows平台上;尽管你已经提到了这一点)。@ChirstopheD,是的,这需要PowerPoint。实际上,您所做的任何事情都需要一个能够理解powerpoint PPT文件的应用程序。BlairHippo在我上方的解决方案需要同样沉重的OpenOffice。一个类似的问题已经发布。