9

有没有什么好方法可以使用用 C# 编写的 Windows 应用程序来显示/控制 powerpoint 幻灯片?最终,我想在表单中显示缩略图,单击这些缩略图将推进在第二台显示器上显示的幻灯片(类似于使用 Powerpoint 本身在第二台显示器上显示幻灯片)。

如果没有安装 Powerpoint,我希望能够使用 Powerpoint Viewer。

似乎有一些允许将 Powerpoint 集成到表单中的 ActiveX 控件,但其中大多数似乎要花钱,有人有使用这些控件的经验吗?

编辑:我知道可以通过添加对 Microsoft.Office.InterOp.Powerpoint 的引用来访问对象模型,但我希望能够在没有 Microsoft Office 作为先决条件的情况下分发生成的程序,这就是我提到 Powerpoint Viewer 的原因因为它可以自由分发。

4

4 回答 4

7

这个 kb 列出了使用 powerpoint 演示查看器对象模型的基础知识。我建议您在分发应用程序时包含查看器。

http://support.microsoft.com/kb/265385

一旦获得对查看器(顶级)对象的引用,它基本上与使用 powerpoint.presentation 对象模型相同,但功能较少(即编辑等)

如果您使用的是 Powerpoint 2007,则可以通过使用 System.XML 和相关命名空间来添加编辑功能,以将演示文件作为打开的 xml 文件进行处理。

关于 UNO/openoffice.org 的评论,我认为这些都没有抓住重点,因为你不能使用 UNO 来处理 powerpoint,它是用于 openoffice 的,这不是提问者的原始要求。

有像 aspose 这样的 3rd 方工具集,但是您的目标是使用 powerpoint 查看器组件(免费),所以我猜您想避免为开发工具付费?无论哪种方式查看器组件 OM 都非常适合显示和预览以及现有的幻灯片放映。(您将需要一份 Powerpoint 副本,以便您可以从头开始创作演示文稿,还需要 Visual Studio 来创建 VSTO 项目)。

于 2009-07-29T22:22:22.177 回答
4

我们在这里工作的软件之一就是这样做的。最初我们使用 MS Office,但最近我们改用OpenOffice.org Uno,因为它提供比 MS Office 更好的控制并且更易于使用。它有.NET CLI 绑定

要回答您的问题,可以,但我们的工程师会建议您改用 OpenOffice.org。

于 2008-10-20T09:41:51.877 回答
1

就像 Microsoft Excel 和 Word 一样,Powerpoint 有一个对象模型,您可以通过在项目中包含以下引用来在代码中访问它:

Microsoft.Office.InterOp.Powerpoint。

我使用过 Excel 和 Word 模型,但没有使用过 Powerpoint 模型。包含参考后,您可以通过打开对象浏览器来稍微了解可用的功能,以查看可用的功能类型。如果您不想使用 3rd 方工具访问对象模型,这对您来说可能是一个可行的解决方案。

于 2008-10-20T13:20:53.323 回答
0

我使用了 Aspose 的 Word 工具包——他们也有一个我认为值得一看的 Powerpoint 工具包。

http://www.aspose.com/categories/file-format-components/aspose.slides-for-.net-and-java/default.aspx

于 2008-10-20T12:39:51.470 回答