以编程方式创建 PowerPoint 演示文稿

Posted

技术标签:

【中文标题】以编程方式创建 PowerPoint 演示文稿【英文标题】:Creating PowerPoint presentations programmatically 【发布时间】:2010-10-03 11:48:02 【问题描述】:

有没有办法?如果可能,我想使用 C# 并创建 PowerPoint 2003 演示文稿。

【问题讨论】:

【参考方案1】:

是的,你可以。

你会想看看 MSDN 里面有很好的介绍。

我可能会给您一个警告,Microsoft Office 互操作与一个已有 10 多年历史的 API 兼容。因此,有时使用起来非常讨厌。如果你有钱投资一两本好书,我认为这笔钱花得值。

这是您的起点。使用 MSDN MSDN Webpage 上的搜索功能。它适用于任何 Microsoft C# .NET 风格的东西。

特别是关于您的问题,此链接应该会有所帮助:Automate PowerPoint from C#。 EDIT LINK NOW DEAD :(。这两个链接与原始知识库文章相当接近:

Automate Powerpoint from C# 1/2

Automate Powerpoint from C# 2/2

最后,对于不赞成这一点的人:有一天我们都在学习,作为初学者如何做某事绝对是与编程相关的,无论某人有多新。

【讨论】:

+1 表示“有一天我们都在学习,作为初学者如何做某事绝对是与编程相关的,无论新人多么陌生” 第二个链接好像失效了。现在是否有其他 MS 网站涵盖该主题? web.archive.org/web/20150101161205/http://support.microsoft.com/… 这是原始链接的存档版本 谢谢!没有去拖网档案,但很高兴知道它在那里。【参考方案2】:

如果您真的不需要与 PowerPoint 兼容的输出,请考虑使用带有 Beamer 包的 LaTeX 等标记语言来生成演示文稿的 PDF,或者以类似于Slidy 的方式使用 htmljavascript。如果您需要花哨的效果,使用 SVG 可能仍然更容易,并且您将获得可以使用免费软件可靠查看的输出的好处。

【讨论】:

有效点数,但微软也确实提供了仅供查看的 Powerpoint 版本供免费下载。请注意,仅适用于 Windows。 HTML5 有 slidy 吗? fliphtml5.com 不是免费的!【参考方案3】:

http://msdn.microsoft.com/hi-in/magazine/cc163471(en-us).aspx

使用此链接。虽然这是在 VB.NET 中,但 C# 也支持。

【讨论】:

【参考方案4】:

您还可以查看Aspose Slides,这是一个用于 .NET 和 Java 的组件,可以轻松生成 powerpoint 文档。

【讨论】:

值得注意的是,该组件非常适合小型演示文稿,但对于大型或复杂幻灯片有很多内存问题。就价格而言,这是一件好事。 仅供参考,截至目前,Aspose Slides 不支持 .Net Core 2.0。 我尝试使用 Aspose,但我不仅无法下载和运行所有内容,最后我了解到,为了让任何东西正常工作,我需要获得一个需要花费我的许可证一笔财富。即使是试用许可证,您也需要成为公司实体。【参考方案5】:

OpenXML 看起来像是从网络应用程序的方式。

正如其他人所说,不建议使用互操作库。

【讨论】:

虽然我会为 Web 应用程序使用 Open XML,但我最终还是为我的 WinForm 应用程序使用了互操作库。虽然这不是最容易学习的东西,但我在使用原生 RichTextBox 类时遇到了更多麻烦。当然,应该从它开始,而不是一开始就尝试让 Aspose Slides 工作。我想 Aspose 将是用于更大项目的方法,但对于 SEH America 的测试(一个需要长达一周的程序),互操作库很好。【参考方案6】:

您也可以尝试 SlideMight,这是一种用于将分层数据与 PowerPoint 模板合并的工具。

SlideMight 支持:

文本字段、表格和注释中的文本替换 图像替换,来自原始数据、文件和网址 嵌套表格中的图像 迭代数据以创建幻灯片 填充表格的迭代,可能跨越多张幻灯片 特定单元格值的特殊格式 生成幻灯片的超链接

此时输入数据格式只是 JSON。 有适用于 Windows 和 Mac OS X 的版本。

更多信息在http://www.SlideMight.com

免责声明

我是 Delftware Technology 的所有者,该公司开发了 SlideMight。 我是开发人员之一。

【讨论】:

【参考方案7】:

您可以使用 Syncfusion Software Private LimitedEssential Presentation 产品。本产品可用于

    创建和操作 PowerPoint 演示文稿 打开、修改和保存现有的 PowerPoint 演示文稿 将 PowerPoint 演示文稿转换为 PDF 或图像

更多信息在https://help.syncfusion.com/file-formats/presentation/overview

免责声明: 我在 Syncfusion Software Private Limited 工作

【讨论】:

以上是关于以编程方式创建 PowerPoint 演示文稿的主要内容,如果未能解决你的问题,请参考以下文章

模块五:演示文稿PowerPoint2010的使用

如何以编程方式获取 PowerPoint 文件格式

将 PowerPoint 演示文稿嵌入/导出到 Plone 网站

如何在 Lync SDK 上共享 PowerPoint 演示文稿? (WPF 应用程序)

PowerPoint 2010 内存泄漏?

通过 win32ole 在 ruby​​ 中打开 powerpoint 演示文稿