使用C#显示powerpoint

时间:2008-10-20 09:31:10

标签: c# .net powerpoint

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

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

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

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

4 个答案:

答案 0 :(得分:7)

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

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

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

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

关于UNO / openoffice.org的评论,我认为这些错过了这一点,因为你不能使用UNO来处理powerpoint,它适用于openoffice,这不是提问者的原始要求。

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

答案 1 :(得分:4)

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

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

答案 2 :(得分:1)

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

Microsoft.Office.InterOp.Powerpoint。

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

答案 3 :(得分:0)

我使用过Aspose的Word工具包 - 他们也有一个Powerpoint工具包,我觉得值得一看。

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