使用C#显示powerpoint

2023-11-27

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

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

似乎有一些 ActiveX 控件允许以某种形式集成 Powerpoint,但其中大多数似乎要花钱,有人有使用这些控件之一的经验吗?

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


本知识库阐述了使用 powerpoint 演示文稿查看器对象模型的基础知识。我建议您在分发应用程序时包含查看器。

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

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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用C#显示powerpoint 的相关文章

随机推荐

  • MS Access - 链接到另一个 Access 数据库中的查询

    如何链接来自另一个 MS Access 数据库的查询 我知道我可以轻松链接表格 但我不知道如何链接查询 该查询从许多我不想链接的表中获取数据 你可以这样做 SELECT RemoteQueryname FROM RemoteQuerynam
  • .NET WebClient.UploadValues 与 WebClient.UploadData

    我正在编写一个类库来在我控制之外的站点上执行操作 该网站正在接受表单帖子作为输入 谁能告诉我这两种方法除了上传数据的形式之外是否有区别 System Net WebClient UploadData Uri Byte System Net
  • scanf("%[^\n]s",a) 与 gets(a)

    有人告诉我 当用户输入字符串时不应使用 scanf 相反 大多数专家以及 StackOverflow 上的用户都使用 gets 我从来没有在 StackOverflow 上问过为什么不应该使用 scanf 而不是 gets 来处理字符串 这
  • C++ 循环遍历 Map

    我想迭代中的每个元素map
  • Mono 准备好迎接黄金时段了吗? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 有人在大型或中型项目中使用过 Mono 开源 NET 实现 吗 我想知道它是否适合现实世界的生产环境 它稳定 快速 兼容 足以使用吗 将项目移植到 Mono 运行时是否需要花费很多精力 或
  • 颤动相机插件

    我对 Flutter 和 Dart 都很陌生 我正在尝试使用相机插件了解事情是如何运作的 我找到的所有示例都有这部分 List
  • Galaxy S5 上的 FOCUS_MODE_CONTINUOUS_PICTURE 出现问题

    我正在开发一个使用相机预览和拍照的 Android 应用程序 我用FOCUS MODE CONTINUOUS PICTURE使用 Galaxy S4 发现对焦效果非常好 然而 在 Galaxy S5 上FOCUS MODE CONTINUO
  • iCarousel 停在用户选择的索引处

    EDIT 我正在制作一个像老虎机一样的应用程序 我补充道iCarousel对于槽对象 所以我有一个按钮可以旋转iCarousel 在我的 iCarousel 视图中 有两个插槽 Slot1 和 Slot2 下面是我的iCarouselVie
  • 使用 mongoose 切换数据库

    您好 有没有办法用 mongoose 切换数据库 我想我可以这样做 mongoose disconnect mongoose connect localhost db 但它不起作用我收到此错误 Error Trying to open un
  • NextJS TypeError:无法读取 null 的属性(读取“长度”)

    有人知道这个错误的原因吗 warn Fast Refresh had to perform a full reload Read more https nextjs org docs basic features fast refresh
  • 如何在 Chrome 上设置音频自动播放

    音频自动播放可以在 Mozilla Microsoft Edge 和旧版 Google Chrome 中使用 但不能在由于自动播放政策发生变化 Google Chrome 67 他们已阻止自动播放 直到满足链接博客文章中指定的特定会话条件
  • 从IP地址获取子网

    我正在尝试获取我拥有的 IP 地址的子网 Eg 1 子网掩码 255 255 255 0 Input 192 178 2 55 输出 192 178 2 0 2 子网掩码 255 255 0 0 Input 192 178 2 55 输出
  • CSS 粘性标题

    我在主页上添加了一个粘性标题 但是粘性标题似乎位于页面上其余内容的后面 因此当我向下滚动页面时 图像和文本位于标题顶部 有没有办法停止这个 这是我的代码
  • 每个 HTTP/会话请求的全局数据?

    问题 有没有办法在每个会话 http 请求中创建变量存储 该变量必须是全局可访问的 并且每个 HTTP 请求 连接 会话都不同 并且不需要在函数之间传递 例如 只是为了说明 setVariableThatCanBeAccessedByThi
  • 如何在 Eclipse 中更新我的 ADT?

    我尝试过更新我的 Eclipse 目前我的 Eclipse 中已经有 2 2 Android SDK 了 昨天我更新了我的 Eclipse 如下所示 Eclipse gt 窗口 gt Android SDK Manager gt 我已选中列
  • PHP 连接两个变量名

    我有一个 php 脚本 它得到 POST决定返回哪个数组 前任 n POST n 1 2 or 3 a1 array something something else another thing a2 array something 2 s
  • 如何使用 node.js 从“AWS dynamodb”获取/扫描所有项目

    如何获取 扫描所有项目AWS dynamodb using node js 我在这里发布我的代码 var docClient new aws DynamoDB DocumentClient var params TableName user
  • 如果安装了SQL Server(标准版),如何通过代码获取服务器名称

    如果安装了SQL Server 标准版 如何通过代码获取服务器名称 我们在创建连接字符串来连接 SQL Server 时传递服务器名称 我们可以通过代码检索这个值吗 string sqlConnectionString string For
  • 如何使用 python 将 xml 文件转换为 JSON?

    我有一个 XML 文件 我想使用 python 将其转换为 JSON 文件 但它对我来说不起作用
  • 使用C#显示powerpoint

    有什么好方法使用 C 编写的 Windows 应用程序来显示 控制 powerpoint 幻灯片吗 最终 我想在表单中显示缩略图 然后单击这些缩略图将推进第二个显示器上显示的幻灯片 类似于使用 Powerpoint 本身在第二个显示器上显示