通过编程创建PowerPoint演示文稿

54

有没有一种编程方式可以创建PowerPoint演示文稿? 如果可能的话,我想使用C#创建PowerPoint 2003演示文稿。

7个回答

78
是的,你可以。
你需要查阅MSDN,它对此有很好的介绍。
我可能要提醒你一下,Microsoft Office互操作性兼容一个已经超过10年的API。因此,有时使用起来非常棘手。如果你有钱投资一两本好书,我认为这将是物有所值的。
这是你的起点。在MSDN上使用搜索功能 MSDN网页。它适用于任何Microsoft C# .NET风格的东西。
特别是关于你的问题,这个链接应该会有所帮助:从C#自动化PowerPoint. 编辑现在链接已失效:(。这两个链接与原始KB文章相当接近:

从C#自动化Powerpoint 1/2

用C#自动化Powerpoint 2/2

最后,无论谁给这个帖子点了踩:我们都曾经是初学者,学习如何做某件事情绝对与编程有关,无论一个人的经验如何新。


15
+1表示同意,“我们都曾经是新手,学习如何做一些事情肯定与编程有关,无论某人是否很新。” - 10101010
第二个链接似乎已经失效了。 现在还有其他覆盖那个主题的微软网站吗? - Tobi o' Bobi
2
这是原始链接的存档版本:https://web.archive.org/web/20150101161205/http://support.microsoft.com/kb/303718 - asdf101
谢谢!没有去搜寻存档,但知道它在那里很好。 - Spence

9
"

OpenXML 似乎是从 web 应用程序中前进的方式。

使用互操作库不被推荐,正如其他人所述。

"

虽然我本来想在 Web 应用程序中使用 Open XML,但最终我在 WinForm 应用程序中使用了交互库。尽管它并不是绝对最容易学习的东西,但我在使用本地 RichTextBox 类时遇到了更多麻烦。明显应该一开始就使用交互库而不是试图让 Aspose Slides 正常工作。我想对于更大的项目,Aspose 是更好的选择,但对于 SEH America 的测试(需要一周时间才能完成的程序),交互库已经足够了。 - Caston

6
您还可以查看Aspose Slides,这是一个针对.NET和Java的组件,可轻松生成PowerPoint文档。

3
值得注意的是,这个组件对于小型演示非常有效,但在处理大型或复杂幻灯片时会出现很多内存问题。就价格而言,这是一个需要知道的好事情。 - Brent Waggoner
请注意,目前 Aspose Slides 不支持 .Net Core 2.0。 - Andy Raddatz
1
我尝试使用Aspose,不仅在下载和运行过程中遇到麻烦,在最后我发现为了让任何东西正常工作,我需要获得一份昂贵的许可证。而且即使是试用许可证,你也需要成为一个公司实体。 - Caston

4

如果您不需要与PowerPoint兼容的输出,考虑使用标记语言,如LaTeX和Beamer包来生成演示文稿的PDF文件,或者类似于Slidy的方式使用HTML和JavaScript。如果您需要炫酷的效果,使用SVG可能更容易,并且您将获得可以可靠地使用免费软件查看的输出。


有些观点是正确的,但同样也是事实,微软提供了一个仅限查看的Powerpoint版本可供免费下载。只能在Windows上使用。 - j_random_hacker
有没有适用于HTML5的幻灯片制作工具?https://fliphtml5.com/并不是免费的! - chikitin


1
你也可以尝试使用SlideMight,这是一款用于将分层数据与PowerPoint模板合并的工具。
SlideMight支持以下功能:
  • 文本字段、表格和注释中的文本替换
  • 从原始数据、文件和URL中进行图像替换
  • 嵌套表格中的图像
  • 迭代数据以创建幻灯片
  • 迭代以填充表格,可能跨越多个幻灯片
  • 特定单元格值的特殊格式
  • 生成幻灯片的超链接
输入数据格式目前仅为JSON。有Windows和Mac OS X版本。
更多信息请访问http://www.SlideMight.com免责声明
我是Delftware Technology的所有者,该公司开发了SlideMight。我也是其中一个开发人员。

0

您可以使用来自Syncfusion Software Private Limited的Essential Presentation产品。该产品可用于:

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

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

免责声明: 我是Syncfusion Software Private Limited的员工。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接