Spire.Presentation for .NET
.NET PowerPoint API - Processing PPT, PPS, PPTX, PPSX in C#, VB.NET, ASP.NET
- Overview
- Examples
- Guideline
- Support
- What's New
- Live Demo
Spire.Presentation for .NET is a professional PowerPoint® compatible API that enables developers to create, read, write, modify, convert and Print PowerPoint documents on any .NET platform (Target .NET Framework, .NET Core, .NET Standard, .NET 5.0, .NET 6.0, Xamarin & Mono Android). As an independent PowerPoint .NET API, Spire.Presentation for .NET doesn't need Microsoft PowerPoint to be installed on machines.
Spire.Presentation for .NET supports PPT, PPS, PPTX and PPSX presentation formats. It provides functions such as managing text, image, shapes, charts, tables, animations, comments, hyperlinks, watermarks, audio and video on slides. It also supports exporting presentation slides to images (PNG, JPG, TIFF, EMF, SVG), PDF, XPS, HTML format etc.
-
Convert
-
Master
-
Watermark
-
Extract
-
eSign
-
Chart
-
SmartArt
-
Graphic
-
Note
-
Animation
Convert PowerPoint to PDF
Converting PowerPoint to PDF helps you maintain the layout and formatting of your presentation when viewed on different systems or devices.
Create Slide Masters
A slide master controls the design of all the slides based on it. Using a slide master makes it easier to create presentations that look consistent and visually appealing.
Add a Watermark
Watermarks are used to declare confidentiality, copyright, source, or other attributes of the document, or as a decoration to make the document more attractive. Both text watermarks and image watermarks can be added to presentations.
Extract Text and Images
If you only need the text and images of a PowerPoint document regardless of their formatting and layout, you can directly extract them from the document.
Digitally Sign PowerPoint Documents
A digital signature provides assurances about the validity and authenticity of your presentation. Once a PowerPoint document is digitally signed, any changes to the document will invalidate the signature.
Insert Charts
Charts in PowerPoint can help illustrate data, show trends or changes in data over time, and make the whole document more professional and attractive.
Insert a SmartArt
SmartArt is a way to combine text, shapes and colors into an image or illustration. SmartArt graphics let you easily create a visual representation of your information.
Insert Images and Shapes
Adding pictures and shapes can make your presentations more interesting and engaging. And you can customize your images by cropping, reordering, changing colors or adding other formatting and customize shape according to your own color palette, preferences.
Add Speaker Notes
Adding speaker notes to a PowerPoint presentation provides reference material for the speaker when they’re presenting a slideshow, allowing them to stay on track without forgetting the key points to deliver a flawless presentation.
Set Animations on Shapes in PowerPoint
Animation is a great way to emphasize important points, to control the flow of information, and to increase viewer interest in your presentation. You can animate almost every objects in PowerPoint slide to give them visual effects.
.NET
Standalone .NET API
100% independent .NET PowerPoint API which
doesn't require Microsoft PowerPoint to be installed on system.
VERSION
- PPT - PowerPoint Presentation 97-2003
- PPS - PowerPoint SlideShow 97-2003
- PPTX - PowerPoint Presentation 2007/2010/2013/2016/2019
- PPSX - PowerPoint SlideShow 2007, 2010
OPERATION
Powerful Toolset, Multichannel Support
-
Work with PowerPoint Charts
-
Print PowerPoint Presentations
-
Work with SmartArt
-
Images and Shapes
-
Audio and Video
-
Protect Presentation Slides
-
Text and Image Watermark
-
Merge Split PowerPoint Document
-
Comments and Notes
-
Manage PowerPoint Tables
-
Set Animations on Shapes
-
Manage Hyperlink
-
Extract Text and Image
-
Replace Text
CONVERSION
Convert File Documents with High Quality
-
PDF
-
HTML
-
XPS
-
SVG
-
Image
PowerPoint Document
-
PNG
-
BMP
-
JPEG
-
EMF
-
TIFF
MAIN FUNCTION
Only Spire.Presentation for .NET,
No Microsoft PowerPoint Automation
Support File Formats
Spire.Presentation for .NET supports Microsoft PowerPoint 97-2003 and Microsoft PowerPoint 2007, 2010.- PPT - PowerPoint Presentation 97-2003
- PPS - PowerPoint SlideShow 97-2003
- PPTX - PowerPoint Presentation 2007, 2010, 2013, 2016 and 2019
- PPSX - PowerPoint SlideShow 2007, 2010
Platforms Supported
By using Spire.Presentation, developers can build any type of a 32-bit or 64-bit .NET application including ASP.NET, Web Services, WinForms, Xamarin and Mono Android, to create and handle PowerPoint documents.Pro Edition $799
Spire.Presentation for .NET supports PPT, PPS, PPTX and PPSX presentation formats.
Free Edition $0
Free version is limited to 10 presentation slides. This limitation is enforced during reading or writing PPT, PPTX. When converting PowerPoint files to PDF, you can only get the first 3 pages of PDF file.
GET STARTED
Free Trials for All Progress Solutions
Request free customized demo just for you. |
Beginners Guide is the first step towards learning the basic information of Spire.Presentation for .NET |
Program Guide lists the detailed features of our Spire.Presentation for .NET and you can search for the information you want. |
The Videos give an operation guide by video. You can check the produce step by step. |
|||||||||||
We guarantee one business day Forum questions Reply. |
We guarantee one business day E-mail response. |
Free Customized service for OEM Users. |
|||||||||||
Skype name: iceblue.support |
Apply for a Free Trial License File. |
||||||||||||
- It relates to our components stored on E-iceblue online store.
- It costs less than 2 hours for us to complete it. If it costs more than 2 hours, please contact our sales@e-iceblue.com
This is the list of changelogs of Spire.Presentation New release and hotfix. You can get the detail information of each version's new features and bug solutions.
Hot Fix Version: 9.11.3
Category | ID | Description |
New feature | SPIREPPT-2636 | Adds a new boolean property "ppt.SaveToSvgOption.ConvertPictureUsingGraphicTag" to set whether to save SlidePicture shapes as graphic tags when converting PPTX to SVG.
ppt.SaveToSvgOption.ConvertPictureUsingGraphicTag = true; |
Bug | SPIREPPT-2552 | Fixes the issue that PDFA standards were not applied when converting PPTX documents to PDFA documents. |
Bug | SPIREPPT-2615 | Fixes the issue that the text direction was incorrect when converting PPTX documents to SVG files. |
Bug | SPIREPPT-2628 | Fixes the issue that the background color was incorrect when using the "shape.SaveAsSvgInSlide()" method to convert to SVG documents. |
Bug | SPIREPPT-2629 | Fixes the issue that the text was not properly aligned when converting slides to SVG documents. |
Bug | SPIREPPT-2631 | Fixes the issue that the application threw "System.NullReferenceException: Object reference not set to an instance of an object" exception when loading PPTX documents. |
Hot Fix Version: 9.9.2
Category | ID | Description |
New feature | SPIREPPT-2567 | Supports setting the global font directory when execute the conversion function.
Presentation.SetCustomFontsDirctory("myfonts"); |
New feature | SPIREPPT-2594 | Adds the "IChart.ChartData.LastRowIndex" and "IChart.ChartData.LastColIndex" properties to obtain the last row and last column of the chart's data source.
Presentation ppt = new Presentation(); ppt.LoadFromFile(inputFile); StringBuilder stringBuilder= new StringBuilder(); IChart chart = ppt.Slides[0].Shapes[0] as IChart; if (chart != null) { int lastRow = chart.ChartData.LastRowIndex; int lastCol = chart.ChartData.LastColIndex; sb.AppendLine("lastRow" + lastRow + "\r " + "lastColumn" + lastCol); int dataRow = chart.Series[2].Values[chart.Series[2].Values.Count - 1].Row; int dataColumn = chart.Series[2].Values[chart.Series[2].Values.Count - 1].Column; sb.AppendLine("dataRow" + datarow + "\r " + "dataColumn" + dataColumn); chart.ChartData.Clear(dataRow + 1, 0, lastRow + 1, lastCol + 1); chart.ChartData.Clear(0, dataColumn + 1, lastRow + 1, lastCol + 1); } File.WriteAllText(outputFile_T,stringBuilder.ToString()); ppt.SaveToFile(outputFile, FileFormat.Pptx2013); ppt.Dispose(); |
Bug | SPIREPPT-2582 | Fixes the issue that the type changed from "graphic" to "image" when copying shapes. |
Bug | SPIREPPT-2590 | Fixes the issue that the content was incorrect when converting PPTX documents to SVG documents. |
Hot Fix Version: 9.8.1
Category | ID | Description |
Bug | SPIREPPT-2547 | Fixes the issue that the application threw the exception "System.ArgumentOutOfRangeException" when copying slides to a new PowerPoint presentation. |
Bug | SPIREPPT-2549 | Fixes the issue that the message "PowerPoint found a problem with content" prompted when opening the resulting file generated after copying slides to a new PowerPoint presentation. |
Hot Fix Version: 9.7.4
Category | ID | Description |
New feature | - | Supports converting PowerPoint documents to Markdown files.
Presentation ppt = new Presentation(); ppt.LoadFromFile("1.pptx"); ppt.SaveToFile("1.md", FileFormat.Markdown); ppt.Dispose(); |
Bug | SPIREPPT-2522 | Fixes the issue that the waterfall chart is displayed incorrectly after modifying its data. |
Bug | SPIREPPT-2534 | Fixes the issue that the program threw System.ArgumentException when setting document property "_MarkAsFinal". |
Bug | SPIREPPT-2535 | Fixes the issue that the tilt angle of text was lost after converting slides to pictures. |
Hot Fix Version: 9.5.3
Category | ID | Description |
New feature | SPIREPPT-2497 | Adds the ColumnSpacing property to set the spacing between columns.
//The unit is point shape.TextFrame.ColumnSpacing = 20.50f; |
Bug | SPIREPPT-2493 | Fixes the issue that the application threw the "System.ArgumentException" when appending images to presentations. |
Bug | SPIREPPT-2498 | Fixes the issue that the shape was in opposite direction after converting PPTX to SVG. |
Bug | SPIREPPT-2500 | Fixes the issue that the gradient color of the shape was incorrect after converting PPTX to SVG. |
Hot Fix Version: 9.4.5
Category | ID | Description |
New feature | SPIREPPT-2469 | Supports adding placeholders.
public enum InsertPlaceholderType { Content = 0, VerticalContent = 1, Text = 2, VerticalText = 3, Picture = 4, Chart = 5, Table = 6, SmartArt = 7, Media = 8, OnlineImage = 9 } presentation.Masters[0].Layouts[0].InsertPlaceholder(InsertPlaceholderType.Text, new RectangleF(20, 30, 400, 400)); |
New feature | SPIREPPT-2476 | Supports setting map projection for map charts.
Presentation ppt = new Presentation(); ppt.LoadFromFile(inputFile); IChart chart = ppt.Slides[0].Shapes[9] as IChart; ProjectionType type = chart.Series[0].ProjectionType; chart.Series[0].ProjectionType = ProjectionType.Robinson; ppt.SaveToFile(outputFile, FileFormat.Pptx2013); ppt.Dispose(); |
New feature | SPIREPPT-2479 | Supports inserting math equations in paragraphs.
Presentation ppt = new Presentation(); string latexMathCode = "x^{2}+\\sqrt{x^{2}+1=2}"; IAutoShape shape = ppt.Slides[0].Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(30, 100, 400, 200)); shape.TextFrame.Paragraphs.Clear(); TextParagraph p = new TextParagraph(); p.ParagraphProperties.DefaultTextRangeProperties.Fill.FillType = FillFormatType.Solid; p.ParagraphProperties.DefaultTextRangeProperties.Fill.SolidColor.Color = Color.Black; shape.TextFrame.Paragraphs.Append(p); TextRange portionEx = new TextRange("Hello World"); p.TextRanges.Append(portionEx); p.AppendFromLatexMathCode(latexMathCode); TextRange portionEx2 = new TextRange("My name is Tom."); p.TextRanges.Append(portionEx2); ppt.SaveToFile(outputFile, FileFormat.Auto); ppt.Dispose(); |
New feature | SPIREPPT-2484 | Supports embedding SVG files as images in slides. (This feature is supported in PPTX 2016 and later versions, not for PPT format files.)
presentation.Slides[0].Shapes.AddFromSVG(inputFile, new RectangleF(40, 40, 200, 200)); |
Bug | SPIREPPT-2482 | Fixes the issue that the direction of gradient color backgrounds was rotated when converting PPTX documents to SVG documents. |
Hot Fix Version: 9.3.4
Category | ID | Description |
New feature | SPIREPPT-2445 | Support retrieving the default font styles of a PowerPoint document.
Presentation presentation = new Presentation(); presentation.LoadFromFile(inputFile); IAutoShape shape = presentation.Slides[0].Shapes[0] as IAutoShape; DefaultTextRangeProperties format = shape.TextFrame.Paragraphs[0].TextRanges[0].DisPlayFormat; File.AppendAllText(outputFile, "text :" + shape.TextFrame.Paragraphs[0].TextRanges[0].Text + "\r "); File.AppendAllText(outputFile, "is bold :" + format.IsBold + "\r "); File.AppendAllText(outputFile, "is italic :" + format.IsItalic + "\r "); |
New feature | SPIREPPT-2451 | Adds SaveToSvgOption for settings PPTX to SVG conversion options.
Presentation ppt = new Presentation(); ppt.LoadFromFile(inputFile); ppt.SaveToSvgOption.SaveUnderlineAsDecoration = true; byte[] svgByte = ppt.Slides[0].Shapes[0].SaveAsSvgInSlide(); FileStream fs = new FileStream(outputFile + "1.svg", FileMode.Create); fs.Write(svgByte, 0, svgByte.Length); fs.Close(); |
New feature | SPIREPPT-2459 | Adds the showMasterShapes property to the ILayout class to display background shapes.
Presentation presentation = new Presentation(); presentation.LoadFromFile(@"in.pptx"); bool showMasterShape = presentation.Slides[1].Layout.ShowMasterShapes; |
Bug | SPIREPPT-2443 | Fixes the issue that the gradient color was incorrect when converting PPTX to SVG. |
Bug | SPIREPPT-2452 | Fixes the issue that the image quality degraded when converting PPTX to PDF. |
Bug | SPIREPPT-2453 | Fixes the issue that the text space was lost when converting shape to SVG. |
Bug | SPIREPPT-2454 | Fixes the issue that the content was incorrect when loading and saving PPTX documents. |
Hot Fix Version: 9.3.0
Function | API |
Text polishing | public string Polish(IShape shape,string language); |
Translation | public string Translate(ISlide slide, string language); |
Summarization | public string Summarize(IShape shape, string language); |
Presentation generation | public Presentation Generate(string describe, string language, bool genareteBackGroundImage); |
Questioning | public string Ask(string question, bool enableHistory = false); |
Document search | public string DocumentSearch(string question, string file_server_path, bool enableHistory = false); |
Image generation | public Stream ImageGenerate(string description); |
Hot Fix Version: 9.1.5
Category | ID | Description |
New feature | - | Support embedding fonts in PPTX: only supports embedding fonts into PPTX format, and does not support embedding into PDF and PowerPoint 2003 formats; when embedding Chinese name fonts, the font names are not displayed in Chinese.
ppt.AddEmbeddedFont(string fontpath); |
New feature | SPIREPPT-2424 | Provides the IsHidden property to determine whether the Ole object is hidden.
OleObjectCollection oles = ppt.Slides[0].OleObjects; OleObject ole= oles[0]; bool result=ole.IsHidden; |
Bug | SPIREPPT-2418 | Fixes the issue that the program threw "Microsoft PowerPoint 2007 file is corrpt." exception when loading a PPTX file when the system regional language was set to Turkish. |
Bug | SPIREPPT-2396 | Fixes the issue that the effect was incorrect after changing the chart label position. |
Hot Fix Version: 9.1
Category | ID | Description |
Adjustment | - | Upgrades the VS2019 project framework to version 4.6.2. |
Adjustment | - | Removes MonoAndroid and Xamarin.iOS. |
Adjustment | - | Removes the reference of Spire.Pdf.dll from the product. |
Adjustment | - | "Spire.Pdf.PdfConformanceLevel" has been deprecated and replaced with the new interface "Spire.Presentation.External.pdf.PdfConformanceLevel".
presentation.SaveToPdfOption.PdfConformanceLevel = Spire.Presentation.External.Pdf.PdfConformanceLevel.Pdf_A1A; |
Adjustment | - | "Spire.Pdf.Sercurity.PdfSecurity" has been deprecated and replaced with the new interface "Spire.Presentation.External.Pdf.PdfSecurity". |
Request free customized demo just for you. |
Tab 1
Upload
Convert to
Tab 2
Upload
Convert to
Tab 3
Add text
Text: | |
Font: | |
Font Size: | |
Color: | |
downloads
|
Add image
Image: |
Click here to browse files
|
downloads
|
Tab 4
Set text watermark
Text: | |
Font: | |
Font Size: | |
Color: | |
Rotate: | |
downloads
|
Set image watermark
Image: |
Click here to browse files
|
downloads
|
Tab 5
Data
salesPers | saleAmt | comPct | comAmt |
Joe | 250 | 150 | 99 |
Robert | 270 | 150 | 99 |
Michelle | 310 | 120 | 49 |
Erich | 330 | 120 | 49 |
Dafna | 360 | 150 | 141 |
Rob | 380 | 150 | 135 |
Option
If you don't find the function you want, please fill in a form to request a free demo from us. Make sure the demo you want meets the following requirements:
- It is a small project that implements a particular scenario.
- It relates to our libraries stored on E-iceblue online store.
- It costs less than 2 hours for us to complete it.
- It is not a bug report.
- It is not a feature request.