我想使用 Python 将 PPT 转换为 png 或其他图像格式。

这个问题已经在 SO 上被问过,但本质上建议在无头 X 服务器中运行 OpenOffice,这在我上次使用它时绝对是痛苦的。(主要是由于 OO 崩溃而导致难以复制的错误。)

还有其他方法吗(希望仅使用 Linux CLI 实用程序,并在其之上使用纯 Python?)

有帮助吗?

解决方案

基本工作流程:

  • 使用 PowerPoint 中的 pdf 打印机或 OpenOffice 的内置 PDF 转换器将您的 ppt 转换为 pdf

  • 使用 Ghostscript 将 pdf 转换为 png 或其他图像格式(类似于 gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=png16m -r100 -sOutputFile=out.png in.pdf)

您可以使用 Python 编写脚本(并使用 Uno / COM 试点 OOo / MSPP),或任何您想要的脚本。

据我所知,没有Python库处理PPT文件或将PDF文件转换为PNG。

至于 OOo 崩溃处理,我会捕获异常并在发生此类事件时尝试重新启动 OOo(并且可能会跳过该文件,将其添加到需要手动处理的可疑文件列表中)。

你可能会发现这篇文章 http://www.linuxjournal.com/node/1007788 有趣的是,它提供了一个类,该类使用现有的 OOo 实例来连接或在需要时以透明的方式启动一个实例。它附带了 xls -> csv 转换的示例(http://www.linuxjournal.com/content/convert-spreadsheets-csv-files-python-and-pyuno) 可以用作您想要尝试的转换的基础。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top