# IronPPT > The C# PowerPoint Library. Edit PowerPoint presentations in .NET applications without using Interop. Supports .NET Framework. A single-file summary of the IronPPT documentation: 16 pages, each as its own abstract, so a model can read the documentation in one pass rather than fetching every URL. Blog posts are not included — see https://ironsoftware.com/ppt/csharp/llms.txt for the link index, and https://ironsoftware.com/ppt/csharp/llms-full-catalog.txt for one that covers the blog too. ## Getting Started ### Applying .NET 10 License Keys to IronPPT C# Presentation Library https://ironsoftware.com/ppt/csharp/get-started/license-keys/ The article titled "Applying Software License Keys to C# Presentation Library | IronPPT" provides a detailed guide on how to obtain and apply a license key for the IronPPT C# presentation library. The process involves several steps, beginning with downloading the latest version of IronPPT. Users can purchase a license key or opt for a free 30-day trial key. Once obtained, the license key can be applied by adding a specific code snippet to the startup of an application, such as in `Program.cs` or `Startup.cs`. Alternatively, users can integrate the key into a .NET Core application using an `appsettings.json` file, ensuring it is copied to the output directory. The article also explains how to validate the license key by checking the `IsLicensed` property and verifying its validity using provided code snippets. If the key is valid, users can proceed with utilizing IronPPT in their projects. For further guidance, a comprehensive tutorial is available to help users get started. In case of queries or the need for support, users are encouraged to contact IronSoftware's support team or visit the IronPPT section on their website for more resources. ## Tutorials ### C# Tutorial: Slide Element | IronPPT https://ironsoftware.com/ppt/csharp/tutorials/slide-element/ The "C# Slide Element Tutorial – IronPPT" is an insightful guide for .NET C# developers looking to enhance their applications with PowerPoint presentation capabilities. IronPPT, a comprehensive PowerPoint library, empowers developers to create, read, and edit slides seamlessly. Slides serve as the core elements that organize and structure presentation content. The tutorial provides a quickstart guide on inserting text into new or existing slides with minimal code, demonstrating IronPPT's ease of use. It elaborates on text management, offering complete control over text placement and formatting, ensuring slides are clear and professional. Developers can customize text styles, including font size, color, and additional styling like bold, italic, strikethrough, and underline, enhancing the presentation's visual appeal. The tutorial also covers image integration, detailing how to load images, adjust dimensions, and set positions for optimal display. Furthermore, it guides on adding and customizing shapes by setting types, dimensions, fill and outline colors, and positioning them on slides. This comprehensive guide equips developers with the tools to create visually appealing and well-organized PowerPoint presentations programmatically. ## How-To Guides ### Add Slide | IronPPT https://ironsoftware.com/ppt/csharp/how-to/add-slide/ The article "Add Slide | IronPPT" provides a comprehensive guide on how to add slides to a PowerPoint presentation using IronPPT, a C# library. It begins by explaining the significance of slide addition as a crucial step in crafting impactful presentations. The process is simplified through IronPPT's automated features, enhancing creative workflows and enabling users to effortlessly compile polished slide decks. To get started, users need to download the C# library for slide addition. The article outlines a step-by-step procedure, starting with opening or creating a PowerPoint file, selecting the number of slides, and utilizing the `AddSlide` method to insert new slides. An example demonstrates creating a new presentation, adding a slide, and saving the document. Additionally, the guide covers creating a slide object, which is essential for grouping elements like images with specific slides. This involves using the Slide class to add text and integrate the new slide into the document. The article also explains how to add multiple slides using a `for` loop, showcasing the flexibility of manipulating scripts to maximize IronPPT's capabilities. Visuals of the PowerPoint results are included, illustrating the outcomes of the methods discussed. ### Add Text | IronPPT https://ironsoftware.com/ppt/csharp/how-to/add-text/ The article "Add Text | IronPPT" on Iron Software's website provides a comprehensive guide for adding text to PowerPoint slides using the IronPPT C# library. It emphasizes the centrality of text in presentations and details how to dynamically populate slides directly from code. The guide begins with instructions to install the IronPPT library, followed by creating a `PresentationDocument` object. It then explains using the `AddText` method to insert text into desired slides, allowing for formatting and styling as necessary. Finally, users are instructed on saving their work as a PPTX file to export the updated presentation. The process is designed for simplicity, ensuring minimal effort is required. A code snippet is provided for reference, demonstrating how to create a `PresentationDocument` object and use the `Slides[index].AddText("")` function to add text. An illustrative image accompanies the guide, depicting the process visually to aid comprehension. This article serves as an essential resource for developers seeking efficient methods to augment their PowerPoint presentations programmatically. ### Manage PowerPoint Images in C# | IronPPT Tutorial https://ironsoftware.com/ppt/csharp/how-to/manage-image/ IronPPT is a C# library that enables programmatic management of PowerPoint images, including inserting, modifying, replacing, and removing images from presentations. The library uses the Image class to handle image operations, allowing developers to add images to slides, adjust dimensions and positioning, and perform bulk operations. Key features include support for common image formats (JPEG, PNG, BMP, GIF, TIFF), precise positioning using x,y coordinates, and customizable image properties like height, width, and angle. The quickstart process involves installing IronPPT via NuGet, creating or loading a presentation, using Image.Create() to load image files, adding images to slides with slide.Images.Add(), and saving as PPTX. The library handles format conversion and optimization automatically, making it suitable for maintaining professional and scalable presentations. IronPPT simplifies PowerPoint automation tasks by providing a straightforward API for image management, enabling developers to work efficiently with visual content in their presentations without manual intervention. ### Manage PowerPoint Slides in C# | IronPPT Guide https://ironsoftware.com/ppt/csharp/how-to/manage-slide/ IronPPT is a C# library that enables developers to programmatically manage PowerPoint slides through simple methods like AddSlide() for creating slides, Remove() for deletion, and the Slides collection for reordering and hiding slides. This tool serves as a fundamental solution for automating presentation tasks that would traditionally require manual PowerPoint editing. The library facilitates business applications such as automated report generation and dynamic presentation creation. New slides are automatically appended to the end of presentations using a zero-based index system, where the first slide is at index 0. Developers can add multiple slides through chained method calls or loops, making it efficient for data-driven presentations. The library's straightforward API allows developers to focus on content rather than complex tooling, with operations as simple as single-line commands. IronPPT requires proper license configuration for production use to avoid watermarks. The comprehensive documentation provides detailed guides for all slide management operations, including creating empty presentations, modifying slide properties, and exporting final PowerPoint files. This automation capability is particularly valuable for repetitive tasks and large-scale presentation generation in business environments. ## Code Examples ### Code Example: Add Image | IronPPT https://ironsoftware.com/ppt/csharp/examples/add-image/ The article on IronPPT's website provides a comprehensive guide for developers looking to enhance their PowerPoint presentations by adding images programmatically. Visual elements are crucial in effectively conveying ideas and enriching content. The article outlines a straightforward 5-step process to add and customize images within a PowerPoint slide using IronPPT. It begins with loading an image using the `Image` class and the `LoadFromFile` method. Next, the image is added to a specific slide with `AddImage`, allowing for precise placement via x and y coordinates. The example provided sets the image position at (200, 200) and rotates it by 45 degrees using the `Angle` property, showcasing IronPPT's flexibility in image manipulation. This functionality empowers developers to tailor their presentations with precise control over image placement and orientation, delivering a more engaging and visually appealing presentation. For those interested in further managing slides, the article links to additional resources for comprehensive slide management. ### Code Example: Add Paragraph | IronPPT https://ironsoftware.com/ppt/csharp/examples/add-paragraph/ The article titled "Code Example: Add Paragraph | IronPPT" provides a comprehensive guide for developers on how to automate the addition of paragraphs in PowerPoint presentations using IronPPT. This automation is particularly beneficial as it frees developers from manual, repetitive tasks, allowing them to focus on enhancing the slide content creatively and efficiently. The process is simplified into a concise 5-step guide. Initially, a new `PresentationDocument` is created to serve as the base PowerPoint file. Subsequently, a `Paragraph` object is instantiated, and text is added using the `AddText` method. The paragraph is then incorporated into the first slide by accessing the `Slides` array and utilizing the `AddParagraph` method. Finally, the presentation is saved as "addParagraph.pptx". This programmatic approach to slide management empowers developers with full control over slide content, facilitating seamless content integration. The article also includes a related link for further exploration of slide management techniques using IronPPT, thereby providing developers with additional resources to enhance their PowerPoint automation skills. ### Code Example: Add Image | IronPPT https://ironsoftware.com/ppt/csharp/examples/add-shape/ The article "Code Example: Add Image | IronPPT" guides readers through the process of integrating shapes into PowerPoint presentations using IronPPT. Shapes are crucial for structuring content, emphasizing key points, and enhancing the visual appeal of presentations. They help organize information, create diagrams, and direct the audience's attention. IronPPT allows developers to seamlessly integrate and modify shapes, enabling them to create dynamic and polished presentations that effectively communicate ideas. The article provides a 5-step code example for adding shapes, specifically a triangle. It begins with creating a new `Shape` object and modifying its `Type` property to `ShapeType.Triangle`. The shape's dimensions are set with the `Resize` method, and its appearance is customized by adjusting the `OutlineColor` to black. Finally, the shape is positioned on the slide using x and y coordinates set to (200, 200). This code example allows developers to gain complete control over their PowerPoint slides, ensuring their presentations are engaging and professional. The article concludes with a link to learn more about managing slides with IronPPT. ### Code Example: Add Shape | IronPPT https://ironsoftware.com/ppt/csharp/examples/add-slide/ The article on IronPPT's webpage provides a detailed guide on how to programmatically add slides and text to a PowerPoint presentation using the IronPPT library. IronPPT offers developers a streamlined process for creating and customizing PowerPoint presentations by automating slide creation and text addition. The example provided walks through a 5-step code process to achieve this. Initially, a new `PresentationDocument` object is instantiated, representing an empty presentation. Then, an empty slide is added using the `AddSlide` method. For adding a slide with text, a `Slide` object is created, and the `AddText` method is used to insert the text "Hello." This slide is then added to the `PresentationDocument` using the `AddSlide` method. The article emphasizes the simplicity and efficiency of using IronPPT for PowerPoint automation, highlighting the intuitive methods available for slide manipulation. Additionally, it provides a link to further resources on managing slides with IronPPT, encouraging developers to explore more functionalities offered by the library. This guide is aimed at developers looking to leverage IronPPT for enhanced PowerPoint automation capabilities. ### Code Example: Create Empty PowerPoint Presentation | IronPPT https://ironsoftware.com/ppt/csharp/examples/create-empty-presentation/ IronPPT offers a straightforward solution for developers looking to create empty PowerPoint presentations programmatically. The page titled "Code Example: Create Empty PowerPoint Presentation" on IronPPT's website provides a detailed guide on how to instantiate, structure, and save a blank presentation using their software. This resource is particularly valuable for developers who need to automate presentation creation as part of their applications. The IronPPT library simplifies this process, offering class documentation, related tutorials, and how-to guides to assist users. Additionally, there are links to related documentation, language packs for Optical Character Recognition (OCR), and a download link for the IronPPT DLL. Users are also encouraged to report any issues they encounter on the page, making it an interactive platform for support and improvements. The availability of these resources underscores IronPPT's commitment to providing comprehensive support for developers utilizing their tools. With its focus on ease of use and functionality, IronPPT facilitates efficient PowerPoint presentation creation, making it an essential tool for developers seeking to enhance their workflows. ### Code Example: Customized Bullet Point | IronPPT https://ironsoftware.com/ppt/csharp/examples/customized-bullet-point/ The article titled "Code Example: Customized Bullet Point | IronPPT" provides a concise guide for creating customized bullet points in presentations using IronPPT. It emphasizes the effectiveness of bullet points over paragraphs for highlighting key information. The article includes a practical 5-step process to add a customized bullet point with an image to a paragraph. The process begins with initializing a `ParagraphStyle` class to define the bullet point style, followed by creating a `Bullet` class instance. The customization is enhanced by assigning an image to the `Picture` property of the bullet. Subsequently, a `Paragraph` class is created to apply the defined `ParagraphStyle`, which includes the image-enhanced bullet point. The final step involves adding text to the paragraph using the `AddText` method, completing the customization and ensuring a visually appealing presentation. This method streamlines the process, eliminating the need for manual bullet point additions and enhancing presentation aesthetics. The article also links to further resources for managing slides, providing a comprehensive solution for presentation creation. ### Code Example: Manage Slide | IronPPT https://ironsoftware.com/ppt/csharp/examples/manage-slide/ In the realm of programmatic PowerPoint management, IronPPT offers developers a robust toolset to enhance efficiency and automate large-scale tasks. The platform provides comprehensive control over slide manipulation, including adding, removing, reorganizing, and hiding slides. Through a simple five-step guide, users can execute commands like `document.AddSlide()` to introduce slides, or `document.Slides.RemoveAt(0)` to eliminate them. The slides are managed as an array within the `PresentationDocument`, emphasizing the importance of correct index usage to avoid errors. Changing a slide's order is achieved by modifying its index, while visibility can be controlled by toggling the `Show` property. The code explanation highlights the ease of accessing and modifying slides, ensuring developers can efficiently manage presentations. The process concludes by saving the modified presentation with `document.Save("manageSlide.pptx")`. This streamlined approach allows developers to dynamically adjust slide content and arrangement, optimizing both workflow and presentation outcomes. For further insights into slide management techniques, users are encouraged to explore additional resources provided by IronPPT. ### Code Example: Paragraph Style | IronPPT https://ironsoftware.com/ppt/csharp/examples/paragraph-style/ The webpage titled "Code Example: Paragraph Style | IronPPT" provides a detailed guide on how to leverage the capabilities of IronPPT for .NET applications to customize paragraph styles in PowerPoint presentations. This customization includes modifying line spacing, text alignment, indentation, and bulleting options, all within a single library. A 5-step code example illustrates the process: starting with the creation of a `ParagraphStyle` object with properties like `NoBullet` set to true for non-bulleted text, the guide explains how to apply these styles to a `Paragraph` object. Users then add text to the paragraph using the `AddText` method before integrating it into a slide within the PowerPoint presentation. The document emphasizes the ease and flexibility IronPPT provides developers in controlling the presentation's textual elements, allowing them to enhance the clarity and emphasis of key points. The guide concludes with a link directing users to further resources on managing slides using IronPPT, reinforcing the library's utility in comprehensive presentation customization. ## Troubleshooting ### Engineering Request​ - IronPPT https://ironsoftware.com/ppt/csharp/troubleshooting/engineering-request-ppt/ The article titled "Engineering Request - IronPPT" provides a detailed guide on how to make a technical support request for IronPPT, emphasizing the importance of clear and concise communication to resolve issues efficiently. It underscores the role of customer feedback in driving software development and updates. To assist the engineering team in replicating and addressing issues, the article advises users to include a detailed description of the problem, including symptoms, log files, and the specific environment (IronPPT version, OS, and .NET runtime version). Prioritizing a support ticket can be enhanced by submitting an example project that reproduces the issue, code snippets, screenshots, exception messages, and input parameters. The article further explains how to attach an example project, recommending a zipped standalone .NET console or web app project, excluding the Bin folder to prevent unnecessary file bloat. Users are encouraged to use shareable links via Google Drive or Dropbox for these attachments. Overall, the article serves as a comprehensive guide to ensure effective communication between IronPPT users and the engineering team, thereby expediting the troubleshooting process. ## Product Updates ### Feature Updates & Release History | IronPPT https://ironsoftware.com/ppt/csharp/product-updates/changelog/ The IronPPT changelog provides a detailed overview of updates, milestones, and the roadmap for the IronPPT library, highlighting key features and improvements across various versions released throughout 2025. The June 2025 update, version 2025.6.2, introduces enhancements by updating IronSoftware.System.Drawing to the same version, providing improved functionalities. In May 2025, version 2025.5.5 was released, featuring an update to IronSoftware.System.Drawing version 2025.5.3, which aimed to bolster performance and stability. The April 2025 release, version 2025.4.5, included an update to IronSoftware.System.Drawing version 2025.3.6, continuing the trend of incremental improvements. March 2025 saw the release of version 2025.3.1, which updated IronSoftware.System.Drawing to version 2025.3.5, further enhancing the library's capabilities. The February 2025 update marked the first release of IronPPT with version 2025.2.5, laying the foundation for subsequent enhancements and solidifying IronPPT's utility in handling PowerPoint files. Each version is linked to its respective API reference and NuGet package for easy access, allowing developers to stay current with the latest features and upgrades, ensuring optimal use of the IronPPT library in their projects.