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

A PowerPoint® Compatible Library without Microsoft PowerPoint

Over 1,000,000 Developers Are Already Using Our Libraries
To Create Their Amazing Applications.

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

As an independent PowerPoint .NET API, Spire.Presentation for .NET doesn't need Microsoft PowerPoint installed on the machine. And it is compatible with other .NET applications.

Convert Presentation Slides
with High Quality

By using Spire.Presentation for .NET, developers can export presentation slides to PDF, XPS, HTML and images (Bitmap, JPG, PNG, SVG, EMF, TIFF, GIF and WMF) formats. It supports SmartArt shape, MSO Charts APIs and presentation printing.

Summary of Spire.Presentation Functions

  • Create, open, read and modify PowerPoint presentations from different sources.
  • Convert presentation slides to image, PDF, SVG and XPS format.

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

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.

Main Functions contain the main features of our Spire.Presentation for .NET and you can have brief information of it.

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.

To help you get started quickly, we offer free customized demos to our customers. Please contact support@e-iceblue.com for the free demo. Make sure the demo you want meets the below requirements.
  • 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

If you have tried out Spire.Presentation and found it useful, please consider sharing your experience with others. By sharing your testimonial with us, you will not only help others to make the right decision but will also to earn rewards from us. Please send your testimonials to 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.

Download Spire.Presentation to start a free trial:

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

Maximum file size: 1 MB. Files accepted: ppt , pptx.
Click here to browse files.
fileerrors

Convert to

Source file:
filename
Target file type:

Tab 2

Upload

Maximum file size: 1 MB. Files accepted: ppt, pptx.
Click here to browse files.
fileerrors

Convert to

Source file:
filename
Search Text:
Replace Text:
downloads

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
Joe25015099
Robert27015099
Michelle31012049
Erich33012049
Dafna360150141
Rob380150135

Option

downloads

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.