Creating PowerPoint presentations programmatically

Yes, you can.

You will want to look into MSDN which has a pretty good introduction to it.

I might give you a word of warning, Microsoft Office interop is compatible with an API which is now more than 10 years old. Because of this, it is downright nasty to use sometimes. If you have the money to invest in a good book or two, I think it would be money well spent.

Here's a starting point for you. Use the search feature on MSDN MSDN Webpage. It's good for any Microsoft C# .NET style stuff.

Specifically in regards to your question, this link should help: Automate PowerPoint from C#. EDIT LINK NOW DEAD :(. These two links are fairly close to the original KB article:

Automate Powerpoint from C# 1/2

Automate Powerpoint from C# 2/2

Finally, to whoever downvoted this: We were all learning one day, how to do something as a beginner is most definitely programming related, regardless of how new someone might be.


OpenXML looks like the way to go from a web app.

Using the interop libraries is not recommended, as others have stated.


You can also look at Aspose Slides, a component for .NET and Java that makes it easy to generate powerpoint documents.


If you don't really need PowerPoint compatible output, consider using a markup language such as LaTeX with the Beamer package to produce a PDF of the presentation, or use HTML and javascript in a manner similar to Slidy. If you need fancy effects, it might still be easier to use SVG, and you'd have the benefit of getting output that can be reliably viewed with free software.