如何从 PowerPoint 文件文件创建一组图像文件?
Posted
技术标签:
【中文标题】如何从 PowerPoint 文件文件创建一组图像文件?【英文标题】:How do I create a set of image files from a PowerPoint file file? 【发布时间】:2010-03-08 16:59:37 【问题描述】:我正在创建一个“幻灯片放映室”网页。用户将上传一个 PowerPoint 文件,我的服务器将使用该文件生成一组代表幻灯片的 .jpg 图像文件,以在自定义“图库查看器”中呈现。
我是一位经验丰富的 Python 开发人员,但我找不到任何有用的东西。
我该怎么做?
【问题讨论】:
here 已发布类似问题。 【参考方案1】:在我的脑海中,我会这样做的方式:
-
使用 OpenOffice.org 将 .ppt 文件转换为 PDF。 (OO.o 有一个非常丰富的 Java API。请注意,丰富且难以使用,但是一旦你弄清楚如何让它完成你需要的任务,你就准备好了。不知道你是否可以做任何有用的事情它通过 Python;不是我的语言。)
使用 ImageMagick 将 PDF 转换为 .jpg 文件。 (尽管有人告诉我,在将 PDF 转换为图像之前将其转换为 PS 文件会得到更好的结果。)(IM 的命令行界面本身就该死的接近于一种语言——尽管如此,一旦你弄清楚如何得到它做你想做的,一切准备就绪。)
不知道这是不是最有效/最可靠的方法。但从根本上说,我会在 Google 上寻找开源的第三方工具来为我完成所有的脏活。
【讨论】:
ImageMagick +1。我会使用 PythonMagick (wiki.python.org/moin/PythonMagick)(在 imagemagick API 之上的 Python 绑定)而不是 CLI。【参考方案2】:Apache POI 和 Jython。 POI,甚至有一个 ImageExtractor 类,但只是看了一眼 Javadocs,我怀疑它不完整。
【讨论】:
【参考方案3】:您是在 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...
【讨论】:
不反对,但这不需要您将 PowerPoint 安装到您的网络服务器上吗?对我来说似乎是一个严重的依赖(并且有效地将你锁定在 Windows 作为一个平台;尽管你已经提到了这一点)。 @ChirstopheD,是的,它需要 PowerPoint。确实,您所做的任何事情都需要一个能够理解 PowerPoint PPT 文件的应用程序。我上面的 BlairHippo 的解决方案需要 OpenOffice,同样繁重。以上是关于如何从 PowerPoint 文件文件创建一组图像文件?的主要内容,如果未能解决你的问题,请参考以下文章