我想使用 Python 将 PPT 转换为 png 或其他图像格式。
这个问题已在 SO 上提出,但基本上建议在无头 X 服务器中运行 OpenOffice,这在我上次使用它时绝对是一件痛苦的事情。(主要是由于 OO 崩溃导致难以复制错误。)
有没有其他方法,(希望只使用 Linux CLI 实用程序,以及上面的纯 Python?)
我想使用 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),或任何你想要的脚本。
据我所知,没有处理 PPT 文件或将 PDF 文件转换为 PNG 的 Python 库。
至于 OOo 崩溃处理,我会捕获异常并在发生此类事件时尝试重新启动 OOo(并且可能会跳过该文件,将其添加到需要手动处理的可疑文件列表中)。
您可能会发现这篇文章http://www.linuxjournal.com/node/1007788很有趣,因为它提供了一个类,该类使用现有的 OOo 实例来连接或在需要时以透明的方式启动一个实例。它附带了一个 xls -> csv 转换示例(http://www.linuxjournal.com/content/convert-spreadsheets-csv-files-python-and-pyuno),可以用作您想要的转换的基础尝试。