2008-10-20 78 views
9

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

我希望在未安装Powerpoint的情况下能够使用Powerpoint Viewer。

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

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

回答

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组件(免费),所以我猜你想避免支付开发工具?无论哪种方式查看器组件OM都非常适合显示和预览以及现有幻灯片放映。 (您将需要一个Powerpoint副本,以便您可以从头开始编写演示文稿,再加上Visual Studio来创建VSTO项目)。

4

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

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

+0

Uno听起来很有趣,我会检查出来,并给我一个upvote,当我有足够的声誉... – Berg 2008-10-20 18:04:06

+0

在这里你去伯格足够的代表:) – 2009-07-29 22:26:24

1

就像使用Microsoft Excel和Word,PowerPoint时,你可以通过在你的项目中的引用代码访问对象模型:

Microsoft.Office.InterOp.Powerpoint。

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