如何将 PowerPoint 演示文稿文件拆分为每个文件中包含一张幻灯片的文件

Posted

技术标签:

【中文标题】如何将 PowerPoint 演示文稿文件拆分为每个文件中包含一张幻灯片的文件【英文标题】:How to split PowerPoint presentation file into files with one slide in each file 【发布时间】:2012-03-26 22:29:35 【问题描述】:

我需要将 PowerPoint 演示文稿文件(pptx,如果可能,还有 ppt)拆分成一组原始格式文件(pptx 或 ppt)——每个文件都包含一张来自原始文件的幻灯片。我需要使用免费工具或外部免费 API 在 Linux Ubuntu 服务器上以编程方式执行此操作。当文件上传到目录时,将从我的主程序(用 php 编写)调用程序并进行拆分。

我正在寻找有关要使用的语言或工具集的建议。我查看了下面列出的几个选项。尝试所有这些都需要一些时间,但如果有人可以排除或添加到列表和/或提供代码示例,那将有所帮助。

谢谢!

(1) Apache POI 项目 (POI-XSLF)

(2) OpenOffice unoconv 命令行实用程序

(3) C#(带有用于 Linux 的编译器 Mono)。这可能包括使用 PowerPoint.Slides(x).Delete 删除幻灯片的间接选项

(4) JODConverter(Java OpenDocument 转换器)

(5) PyODConverter(Python OpenDocument 转换器)

(6) Google 文档 API

(7) 用于 .NET 的 Aspose.Slides 因成本问题而退出

【问题讨论】:

当您说每个文件一张幻灯片时,您是指每张幻灯片一张 pptx 文件,还是您在考虑 html 或 PDF? POI 的替代方案是 pptx4j。 我的意思是每张幻灯片的 pptx 文件。拆分为多个文件时,我必须保留每个衍生文件的原始格式。 --谢谢。 【参考方案1】:

当我有相同的需求时,我最终使用“UNOCONV”将文件转换为 PDF。然后使用“PDFTK”按页面拆分文件。完成后,您应该能够采取额外的步骤,并使用另一个 UNOCONV 将新拆分的 PDF 文件转换回 PPTX。

虽然看起来相当复杂,但 PPTX 似乎是“一个没人想碰的 ooxml 文件”。图书馆似乎很少而且大多不完整。

【讨论】:

以上是关于如何将 PowerPoint 演示文稿文件拆分为每个文件中包含一张幻灯片的文件的主要内容,如果未能解决你的问题,请参考以下文章

将 PowerPoint 演示文稿嵌入/导出到 Plone 网站

如何在 Lync SDK 上共享 PowerPoint 演示文稿? (WPF 应用程序)

如何在不打开另一个窗口的情况下将 PowerPoint 演示文稿嵌入到 WPF 应用程序中?

有没有办法“按原样”检索与 PowerPoint 演示文稿中的图片相对应的内部存储的 EMF 文件?

PowerPoint 2010 内存泄漏?

从外部 C# 应用程序自动化 PowerPoint VBA 加载项