以编程方式创建 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 的方式使用 html 和 javascript。如果您需要花哨的效果,使用 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 Limited 的 Essential Presentation 产品。本产品可用于
-
创建和操作 PowerPoint 演示文稿
打开、修改和保存现有的 PowerPoint 演示文稿
将 PowerPoint 演示文稿转换为 PDF 或图像
更多信息在https://help.syncfusion.com/file-formats/presentation/overview
免责声明: 我在 Syncfusion Software Private Limited 工作
【讨论】:
以上是关于以编程方式创建 PowerPoint 演示文稿的主要内容,如果未能解决你的问题,请参考以下文章
将 PowerPoint 演示文稿嵌入/导出到 Plone 网站