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: 8.11.1

Category ID Description
New feature SPIREPPT-2378 Supports preserving position information of shapes relative to slides when converting shapes to SVG.
byte[] svgByte = shape.SaveAsSvgInSlide();
FileStream fs = new FileStream("shapePath_" + num + ".svg", FileMode.Create);
fs.Write(svgByte, 0, svgByte.Length);
fs.Close();
New feature SPIREPPT-2379 Supports obtaining the height and width of a text area within a shape.
IAutoShape autoShape = shape as IAutoShape;
SizeF size = autoShape.TextFrame.GetTextSize();
New feature SPIREPPT-2384 Supports retrieving text from different lines within a shape.
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
ISlide slide = ppt.Slides[0];
for (int i = 0; i < slide.Shapes.Count; i++)
{
    IAutoShape shape = (IAutoShape)slide.Shapes[i];
    File.AppendAllText(outputFile, "shape" + i + ":" + "\r
");
    IList<LineText> lines = shape.TextFrame.GetLayoutLines();
    for (int j = 0; j < lines.Count; j++)
    {
        File.AppendAllText(outputFile,"line[" + j + "]:" + lines[j].Text + "\r
");
    }
}
New feature SPIREPPT-2390 Supports retrieving the ShapeID property of an OleObject object.
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
OleObjectCollection oles = ppt.Slides[0].OleObjects;
OleObject oleObject = oles[0];
StringBuilder sb = new StringBuilder();
sb.AppendLine("ShapeID=" + oleObject.ShapeID);
foreach (DictionaryEntry entry in oleObject.Properties)
{
    sb.AppendLine(entry.Key + ":" + entry.Value);
}
File.AppendAllText(outputFile, sb.ToString());
Bug SPIREPPT-2391 Fixes the issue that the program threw System.InvalidCastException when executing shape.TextFrame.GetTextLocation() method.

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.

Hot Fix Version: 8.4.1

Category ID Description
Bug SPIREPPT-2224 Fixes the issue that the program entered an infinite loop and caused memory exhaustion when converting PowerPoint to images.

Hot Fix Version: 8.3.2

Category ID Description
Bug SPIREPPT-2205 Fixes the issue that an error dialog box popped up when editing PowerPoint chart data.

Hot Fix Version: 8.2.0

Category ID Description
Bug SPIREPPT-2153 Fixes the issue that the memory failed to release when the PowerPoint to image conversion program ended.