|
1 | 1 | # FileFormat.Slides for .NET | Free C# PowerPoint API
|
2 | 2 | [FileFormat.Slides for .NET](https://github.com/fileformat-slides/FileFormat.Slides-for-.NET) - An open-source library offered by [openize.com](https://www.openize.com/) that can help beginners create, open, and edit PowerPoint files.
|
3 | 3 |
|
| 4 | +# Contents |
| 5 | +- [Overview](#overview) |
4 | 6 |
|
5 |
| -# .NET PowerPoint API for Presentation Manipulation |
| 7 | +# .NET PowerPoint API for Presentation Manipulation {#overview} |
6 | 8 |
|
7 | 9 | [FileFormat.Slides](https://github.com/fileformat-slides/FileFormat.Slides-for-.NET) is a freely available .NET library crafted for MS PowerPoint presentation manipulation and management. Whether you're a novice or an expert, this API is straightforward to set up and utilize. Its strength lies in the powerful OpenXML engine, which serves as the backbone of FileFormat.Slides. By incorporating this C# library, you can easily generate and control PowerPoint files programmatically. Once integrated, you won't require any additional third-party tools to automate the creation or modification of PowerPoint presentations.
|
8 | 10 |
|
9 |
| -This Documentation explains the internal structure of our PowerPoint Presentation Management C# API system. Despite its complexity, we've ensured the public APIs are user-friendly, providing an easy experience for manipulating PowerPoint presentations. |
10 |
| - |
11 |
| -For a more detailed understanding of our system architecture, design patterns, and public interfaces, please visit the [Articles Section](https://fileformat-slides.github.io/FileFormat.Slides-for-.NET/docs/index.html). |
12 |
| - |
13 |
| -## FileFormat.Slides Namespace |
14 |
| - |
15 |
| -### Presentation Class |
16 |
| -- The primary class responsible for creating, loading, and modifying presentations. |
17 |
| - |
18 |
| -### Slide Class |
19 |
| -- This class represents the slides of a presentation. It deals with elements creation, updation, retrieval and deletion operations within a slide. |
20 |
| - |
21 |
| -### TextShape Class |
22 |
| -- This class is responsible to manage the text shapes within a slide. |
23 |
| -- It allows add, update, retrieve and removing of a text shape. |
24 |
| -- It allows to set text, x and y coordinates, width, height, font size, font color, font family, text alignment of a text shape. |
25 |
| - |
26 |
| -### Image Class |
27 |
| -- This class is providing the functions to deal with Image within a slide. |
28 |
| -- It allows add, update, retrieve and removing of an image. |
29 |
| - |
30 |
| -### StyledList Class |
31 |
| -- This class facilitates the addition of numbered or bulleted lists. |
32 |
| -- It enables easy updates and removals of list items. |
33 |
| -- Users can change the styling of entire lists or individual items. |
34 |
| -- Complete lists can be updated or removed. |
35 |
| -- It allows conversion between numbered and bulleted lists. |
36 |
| - |
37 |
| -### Table Class |
38 |
| -- Enables users to add tables to PPT/PPTX slides. |
39 |
| -- Supports styling at the table, row, and cell levels. |
40 |
| - |
41 |
| -## FileFormat.Slides.Common Namespace |
42 |
| -- This namespace contains all classes, enums or methods for common use. |
43 |
| - |
44 |
| -### Utility Class |
45 |
| -- This class provides essential static methods for generating unique relationship IDs, obtaining random slide IDs, and converting measurements. |
46 |
| - |
47 |
| -### Colors Class |
48 |
| -- This static class provides static properties with color codes, simplifying consistent color selection in C# applications. |
49 |
| - |
50 |
| -## FileFormat.Slides.Facade |
51 |
| -- Contains facade classes |
52 |
| - |
| 11 | +# System Requirements |
| 12 | +- .NET Core 3.1 and above |
| 13 | + |
| 14 | +# Quick Start |
| 15 | + > ```Install-Package FileFormat.Slides``` |
| 16 | +``` |
| 17 | +// Open a presentation |
| 18 | +Presentation presentation = Presentation.Open("sample.pptx"); |
| 19 | +
|
| 20 | +// Get 1st slides |
| 21 | +Slide slide = presentation.GetSlides()[0]; |
| 22 | +
|
| 23 | +// Get text shape count |
| 24 | +var shapeCount = slide.TextShapes.Count; |
| 25 | +``` |
| 26 | + |
| 27 | + |
| 28 | +# How to? |
| 29 | +> **Create Presentation:** |
| 30 | +``` |
| 31 | +// Create instance of presentation |
| 32 | +Presentation presentation = Presentation.Create("sample.pptx"); |
| 33 | +//Create instances of text shapes and set their texts. |
| 34 | +TextShape shape = new TextShape(); |
| 35 | +shape.Text = "Title: Here is my first title From FF"; |
| 36 | +TextShape shape2 = new TextShape(); |
| 37 | +shape2.Text = "Body : Here is my first title From FF"; |
| 38 | +// Set yAxis of 2nd text shape |
| 39 | +shape2.Y = 25.9; |
| 40 | +// Create slide |
| 41 | +Slide slide = new Slide(); |
| 42 | +// Add text shapes. |
| 43 | +slide.AddTextShapes(shape); |
| 44 | +slide.AddTextShapes(shape2); |
| 45 | +// Adding slides |
| 46 | +presentation.AppendSlide(slide); |
| 47 | +// Save presentation |
| 48 | +presentation.Save(); |
| 49 | +``` |
| 50 | +# Find More |
| 51 | +> **More Samples:** |
| 52 | + Check out the [examples](https://github.com/fileformat-slides-gists/FileFormat.Slides-for-.NET/) for sample code snippets to begin with. |
| 53 | + |
| 54 | +> **Usage:** |
| 55 | +- Explore the [documentation](https://fileformat-slides.github.io/FileFormat.Slides-for-.NET/index.html). |
| 56 | +- Read out [API References](https://fileformat-slides.github.io/FileFormat.Slides-for-.NET/api/FileFormat.Slides.html) to get In-depth information about available classes and methods. |
| 57 | +- [Openize](https://www.openize.com/) offers you to find comprehensive [blog posts](https://blog.openize.com/) on commonly trending PowerPoint presentation manipulation topics |
| 58 | + |
| 59 | + |
| 60 | +> **Contribution:** |
| 61 | +If you find issues or have improvements, feel free to open a [GitHub issue](https://github.com/fileformat-slides/FileFormat.Slides-for-.NET/issues) or submit a [pull request](https://github.com/fileformat-slides/FileFormat.Slides-for-.NET/pulls). |
| 62 | +> **License:** |
| 63 | +This project is licensed under the MIT License - see the [LICENSE file](https://github.com/fileformat-slides/FileFormat.Slides-for-.NET/blob/main/LICENSE) for details. |
53 | 64 |
|
54 |
| -## API Reference |
55 |
| -- [API Reference](https://fileformat-slides.github.io/FileFormat.Slides-for-.NET/api/FileFormat.Slides.html) - In-depth information about public interfaces and usage. |
56 | 65 |
|
57 |
| -## Technical Docs |
58 |
| -- [Articles](https://fileformat-slides.github.io/FileFormat.Slides-for-.NET/docs/index.html) - Comprehensive insights into the system architecture, design patterns, and API usage in different scenarios. |
59 | 66 |
|
60 |
| -# Installation |
61 |
| -- Install-Package FileFormat.Slides |
62 | 67 |
|
63 |
| -# System Requirements |
64 |
| -- .NET Core 3.1 and above |
|
0 commit comments