使用C#显示powerpoint

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

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

似乎有一些ActiveX控件允许在一个表单中集成Powerpoint,但是大多数这些似乎花钱,有没有人有使用这些控件之一的经验?

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

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

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

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

如果您正在使用Powerpoint 2007,则可以使用System.XML和相关命名空间添加编辑function,以将演示文件文件用作打开的xml文件。

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

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

我们这里的一个软件就是这样做的。 最初我们使用的是MS Office,但最近我们改用OpenOffice.org Uno,因为它提供了比MS Office更好的控制,更容易使用。 它具有.NET CLI绑定 。

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

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

Microsoft.Office.InterOp.Powerpoint。

我使用过Excel和Word模型,但没有使用过Powerpoint。 一旦包含引用,您可以通过打开对象浏览器来了解可用的内容,以了解可用的function类型。 如果您不想使用第三方工具访问对象模型,这可能是一个可行的解决方案。

我使用过Aspose的Word工具包 – 他们也有一个Powerpoint工具包,我认为值得关注。

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