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, tables, animations, audio and video on slides. It also supports exporting presentation slides to EMF, JPG, TIFF, PDF, XPS, SVG, 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

Conversion File Documents with High Quality

  • PDF

  • HTML

  • XPS

  • SVG

  • Image

PowerPoint Document

  • PNG

  • BMP

  • JPEG

  • EMF

  • TIFF

MAIN FUNCTION

Only Spire.Presentation, 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, SVG and image (Bitmap, JPG, PNG, 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.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


Hot Fix Version: 8.12.2

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".
Category ID Description
New feature SPIREPPT-2397 Supports converting master pages to images.
Presentation ppt = new Presentation();
ppt.LoadFromFile("1.pptx");
for (int i = 0; i < ppt.Masters[0].Layouts.Count; i++)
{
Image image = ppt.Masters[0].Layouts[i].SaveAsImage();
String fileName = String.Format("{0}.png", i);
image.Save(fileName, System.Drawing.Imaging.ImageFormat.Png);
}
ppt.Dispose();
Bug SPIREPPT-2394 Fixes the issue that the content layout was incorrect when converting PPT to PDF.
Bug SPIREPPT-2396 Fixes the issue that the effect was incorrect after changing the position of chart labels.

Hot Fix Version: 8.10.2

Category ID Description
New feature SPIREPPT-2324 Supported the functionality to obtain the text position information within a shape.
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
StringBuilder sb = new StringBuilder();
ISlide slide = ppt.Slides[0];
for (int i = 0; i < slide.Shapes.Count; i++)
 {
     IShape shape = slide.Shapes[i];
     if (shape is IAutoShape)
     {
         IAutoShape autoshape = slide.Shapes[i] as IAutoShape;
         string text = autoshape.TextFrame.Text;
         //obtain the text position information
         PointF point = autoshape.TextFrame.GetTextLocation();
         sb.AppendLine("Shape " + i + ":" + text + "\r
" + "location:" + point.ToString());
     }
}
File.AppendAllText(outputFile, sb.ToString());
ppt.Dispose();
New feature SPIREPPT-2350 Supported the functionality to get the Ascent and Descent properties of text within a Shape.
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
ISlide slide = ppt.Slides[0];
IAutoShape autoshape = slide.Shapes[0] as IAutoShape;
IList lines = autoshape.TextFrame.GetLayoutLines();
for (int i = 0; i < lines.Count; i++)
{
   float ascent= lines[i].Ascent;
   float descent = lines[i].Descent;
}
New feature SPIREPPT-2365 Supported the functionality to convert shapes to SVG format.
Presentation ppt = new Presentation();
ppt.LoadFromFile("FreeForm.pptx");
ISlide slide = ppt.Slides[0];
int num = 0;
foreach (IShape shape in slide.Shapes)
{
    byte[] svgByte = shape.SaveAsSvg();
    FileStream fs = new FileStream("shape_" + num + ".svg",FileMode.Create);
    fs.Write(svgByte, 0, svgByte.Length);
    fs.Close();
    num++;
}
Bug SPIREPPT-2350 Fixed the issue of SVG files appearing blank when opening them in a browser after converting PPT to SVG.

Hot Fix Version: 8.9.4

Category ID Description
New feature SPIREPPT-2351 Supports setting the time for automatic slide switching.
Presentation ppt = new Presentation();
ppt.LoadFromFile("input.pptx");
ppt.Slides[0].SlideShowTransition.AdvanceAfterTime = 1000;
ppt.Slides[1].SlideShowTransition.SelectedAdvanceAfterTime = false;
ppt.SaveToFile("output.pptx", FileFormat.Pptx2013);
ppt.Dispose();
New feature SPIREPPT-2353 Optimizes the names of all options under Radial Gradient Style type, marking the original options as deprecated and adding the same options as in MS PowerPoint tools.
Previous options:
FromCorner1
FromCorner2
FromCorner3
FromCorner4
New options:
FromTopLeftCorner
FromBottomLeftCorner
FromTopRightCorner
FromBottomRightCorner
New feature SPIREPPT-2354 Supports setting and reading the transparency and brightness of the gradient stop styles.
Presentation ppt = new Presentation();
ppt.LoadFromFile("input.pptx");
StringBuilder stringBuilder = new StringBuilder();
IAutoShape shape = (ppt.Slides[0].Shapes[0] as GroupShape).Shapes[2] as IAutoShape;
GradientStopCollection stops = shape.Fill.Gradient.GradientStops;
for (int i = 0; i < stops.Count; i++)
{
    float transparency = stops[i].Color.Transparency;
    float brightness = stops[i].Color.Brightness;
    stringBuilder.AppendLine("stops" + i + "transparency: " + transparency + " brightness: " + brightness);
}
File.WriteAllText("output.txt", stringBuilder.ToString());

stops[0].Color.Transparency = 0.5f;
stops[0].Color.Brightness = -0.32f;
ppt.SaveToFile("output.pptx", FileFormat.Auto);
ppt.Dispose();
Bug SPIREPPT-2322 Fixes the issue that the collection of corner coordinates of polygons obtained was incomplete.
Bug SPIREPPT-2323 Fixes the issue that the text direction changed after saving slides to images.
Bug SPIREPPT-2334 Fix the issue that it failed to retrieve connection point coordinates for line connector shapes.

Hot Fix Version: 8.8.4

Category ID Description
New feature SPIREPPT-2311 Supports highlighting replaced text.
Presentation ppt = new Presentation();
ppt.LoadFromFile("input.pptx");
DefaultTextRangeProperties format = new DefaultTextRangeProperties();
format.IsBold = TriState.True;
format.Fill.FillType = Spire.Presentation.Drawing.FillFormatType.Solid;
format.Fill.SolidColor.Color = Color.Red;
format.FontHeight = 25;
ppt.ReplaceAndFormatText("Yuma", "AAAA", format);
ppt.SaveToFile("output.pptx",FileFormat.Pptx2016);
Bug SPIREPPT-2286 Fixes the issue that the think-cell objects were lost when splitting a PowerPoint document containing think-cell objects.
Bug SPIREPPT-2292 Fixes the issue that copying a PowerPoint slide containing modern annotation content failed.
Bug SPIREPPT-2315 Fixes the issue that the program threw System.IndexOutOfRangeException when getting points in the teardrop shape.
Bug SPIREPPT-2317 Fixes the issue that the color did not take effect when converting to PDF after changing the hyperlink color.

Hot Fix Version: 8.7.2

Category ID Description
New feature - Adds a method for resetting the default font list for document conversion.
presentation.setDefaultFontName("华文行楷");
New feature - Adds a method for setting the preferred font to be used when converting PDF or image files that require fonts not installed in the system.
presentation.resetDefaultFontName();
Bug SPIREPPT-2300 Fixes the issue that the charts were lost when converting PowerPoint documents to images.
Bug SPIREPPT-2302 Fixes the issue that the resulting file failed to open after manipulating chart data.
Bug SPIREPPT-2303 Fixes the issue that the program to throw "Spire.Presentation.DocumentUnkownFormatException" exception when loading PowerPoint documents.
Bug SPIREPPT-2304 Fixes the issue that modifying the text color of hyperlinks did not take effect.

Hot Fix Version: 8.7.0

Category ID Description
New feature SPIREPPT-2244 Supports PPTX 2016 and PPTX 2019 file formats.
Spire.Presentation.FileFormat.Pptx2016
Spire.Presentation.FileFormat.Pptx2019
New feature SPIREPPT-2266 Supports setting the "Distance from axis" in the horizontal coordinate of the chart.
Presentation ppt = new Presentation();
IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.ColumnClustered, new RectangleF(50, 50, 400, 400));

//Gets the PrimaryCategory axis
IChartAxis chartAxis = chart.PrimaryCategoryAxis;

//Set "Distance from axis"
chartAxis.LabelsDistance = 200;

//Save to file
ppt.SaveToFile(outputFile, FileFormat.Pptx2013);
Bug SPIREPPT-2279 Fixed the issue that the generated files failed to open after splitting PPT files.
Bug SPIREPPT-2280 Fixed the issue that there was an incorrect null pointer when loading PPT files.
Bug SPIREPPT-2285 Fixed the issue that there was an error when determining whether a bar graph was switching columns.

Hot Fix Version: 8.6.0

Category ID Description
New feature SPIREPPT-2232 Supports setting the column count for the TextFrame.
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
IAutoShape shape1 = (IAutoShape)ppt.Slides[0].Shapes[0];
shape1.TextFrame.ColumnCount = 2;
IAutoShape shape2 = (IAutoShape)ppt.Slides[1].Shapes[0];
shape2.TextFrame.ColumnCount = 3;
ppt.SaveToFile(outputFile, FileFormat.Pptx2013);
ppt.Dispose();
Bug SPIREPPT-2205 Fixes the issue that it prompted an error when editing the chart data of the saved PowerPoint file.
Bug SPIREPPT-2221 Fixes the issue that the switching Row/Column encountered an error when the chart data have some null values.
Bug SPIREPPT-2215
SPIREPPT-2225
Fixes the issue that the application threw "Merged cells found." when splitting table merged cell.
Bug SPIREPPT-2212
SPIREPPT-2243
Fixes the issue that the chart data was updated incorrectly.
Bug SPIREPPT-2245
SPIREPPT-2274
Fixes the issue that the result was blurry after saving the GroupShape to image.
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.