Spire. Presentation for. NET

Spire. Presentation for. NET

A PowerPoint Compatible Library without Microsoft PowerPoint

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

Category ID Description
New feature SPIREPPT-1744 Supports getting the display color of the table cell border.
table[0, 0].BorderLeftDisplayColor;
table[0, 0].BorderTopDisplayColor;
table[0, 0].BorderRightDisplayColor;
table[0, 0].BorderBottomDisplayColor; 
Bug SPIREPPT-1723 Fixes the issue that the image converted from PowerPoint formula was blurred
Bug SPIREPPT-1732 Fixes the issue that the symbol lost when converting PowerPoint to PDF
Bug SPIREPPT-1738 Fixes the issue that the obtained font size of the text was incorrect
Bug SPIREPPT-1739 Fixes the issue that the application threw "Spire.Presentation.AppException" when loading a PPT file.
Bug SPIREPPT-1743 Fixes the issue that the application threw "System.NullReferenceException" when replacing text
Bug SPIREPPT-1751 Fixes the issue that the application threw "System.ArgumentException" when converting group shpes to image

Hot Fix Version: 6.11.2

Category ID Description
New feature SPIREPPT-1687 Supports getting the fill color of table cells.
table.TableRows[i][j].DisplayColor;
New feature SPIREPPT-1701 Supports setting the data label range for charts.
Presentation ppt = new Presentation();
IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.ColumnStacked, new RectangleF(100, 100, 500, 400));
CellRange cellRange = chart.ChartData["F1"];
cellRange.Text = "aaa";
cellRange = chart.ChartData["F2"];
cellRange.Text = "bbb";
cellRange = chart.ChartData["F3"];
cellRange.Text = "ccc";
cellRange = chart.ChartData["F4"];
cellRange.Text = "ddd";
chart.Series[0].DataLabelRanges = chart.ChartData["F1", "F4"];
ChartDataLabel dataLabel1 = chart.Series[0].DataLabels.Add();
dataLabel1.ID = 0;
dataLabel1.LabelValueVisible = true;
dataLabel1.ShowDataLabelsRange = true;
New feature SPIREPPT-1707 Supports to get the path data of the custom animation.
foreach (AnimationEffect effect in shape.Slide.Timeline.MainSequence)
{
    if (effect.ShapeTarget.Equals(shape as Spire.Presentation.Shape))
    {
        MotionPath path = ((AnimationMotion)effect.CommonBehaviorCollection[0]).Path;
        foreach (MotionCmdPath motionCmdPath in path)
        {
            PointF[] points = motionCmdPath.Points;
            MotionCommandPathType type = motionCmdPath.CommandType;
        }
    }
}
New feature SPIREPPT-1708 Adds a new method "IShape.SaveAsImage()" to convert shape to images.
Image image = shape.SaveAsImage();
Bug SPIREPPT-1453 Fixes the issue that the newly inserted shape did not have default line width and color.
Bug SPIREPPT-1667 Fixes the issue that the images were not clear enough after converting PPT to images.
Bug SPIREPPT-1699 Fixes the issue that it couldn't get the background color of the theme.
Bug SPIREPPT-1709 Fixes the issue that the content was incorrect after converting shape to image.
Bug SPIREPPT-1717 Fixes the issue that it didn't get the correct display color of the TextRange.
Bug SPIREPPT-1731 Fixes the issue that the inserted clustered column chart was incorrect.

Hot Fix Version: 6.10.2

Category ID Description
New feature SPIREPPT-1698 Supports getting the target slide of a hyperlink.
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
IAutoShape shape = ppt.Slides[1].Shapes[0] as IAutoShape;
if (shape.Click.ActionType == HyperlinkActionType.GotoSlide)
{
    ISlide targetSlide = shape.Click.TargetSlide;
    Console.WriteLine("index = " + targetSlide.SlideNumber);
}
Bug SPIREPPT-1684 Fixes the issue that the OLE object couldn't be opened after loading and saving the file. 
Bug SPIREPPT-1700 Fixes the issue that the content was cut off after converting shape to images.
Bug SPIREPPT-1702 Fixes the issue that it didn't get the correct text color.
Bug SPIREPPT-1703 Fixes the issue that it didn't get the correct font size of the table text.
Bug SPIREPPT-1704 Fixes the issue that it didn't get the correct fill color for the chart series.
Bug SPIREPPT-1705 Fixes the issue that it didn't get the correct duration for the slide show transition.
Bug SPIREPPT-1706 Fixes the issue that part of the content was missing after converting equations to images.

Hot Fix Version: 6.9.5

Category ID Description
Bug SPIREPPT-1609
SPIREPPT-1692
Fixes the issue that the OLE icon was not displayed when opened with WPS.
Bug SPIREPPT-1690 Fixes the issue that it failed to get the correct height of the table cells.
Bug SPIREPPT-1691 Fixes the issue that the application threw the error "Object reference not set to an instance of an object" when loading the PPT file after adding math equations.
Bug SPIREPPT-1693 Fixes the issue that it failed to get the correct text color of the chart legend.

Hot Fix Version: 6.9.2

Category ID Description
New feature SPIREPPT-1439 Supports adding math equations and checking whether shape contains math equations.
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, 30));
shape.TextFrame.Paragraphs.Clear();

//Add math equation
TextParagraph tp = shape.TextFrame.Paragraphs.AddParagraphFromLatexMathCode(latexMathCode);

for (int i = 0; i < ppt.Slides[0].Shapes.Count; i++)
{

    if (ppt.Slides[0].Shapes[i] is IAutoShape)
    {
        //Check whether shape contains math equations
        bool containMathEquation = (ppt.Slides[0].Shapes[i] as IAutoShape).ContainMathEquation;
    }
}
ppt.SaveToFile("result.pptx", FileFormat.Pptx2013);
ppt.Dispose();
New feature SPIREPPT-1660 Supports hiding audio clip icons during the slide shows.
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
foreach(Shape shape in ppt.Slides[0].Shapes)
{
    if(shape is IAudio)
    {
        IAudio audio = shape as IAudio;
        audio.HideAtShowing = true;
    }
}
New feature SPIREPPT-1662 Supports converting PPT to OFD. 
Presentation ppt = new Presentation();
ppt.LoadFromFile(inputFile);
ppt.SaveToFile(ofdFile, FileFormat.OFD);
New feature SPIREPPT-1674 Supports checking whether the PPT file is encrypted.
Presentation ppt = new Presentation();
ppt.IsPasswordProtected(inputFile)
Bug SPIREPPT-1657 Fixes the issue that the trendline label was not initialized after adding trendlines to the chart.
Bug SPIREPPT-1658 Fixes the issue that it did not highlight the matched text.
Bug SPIREPPT-1661 Fixes the issue that the hyperlink was missing after converting PPT to PDF.
Bug SPIREPPT-1665 Fixes the issue that the existing video could not be played after adding audio to the PPT file.
Bug SPIREPPT-1671 Fixes the issue that setting the slice angle for doughnut chart did not take effect.
Bug SPIREPPT-1673 Fixes the issue that the application threw the error "DocumentReadException" when loading an encrypted PPT file.

Hot Fix Version: 6.8.3

Category ID Description
New feature SPIREPPT-1622 Supports loading and saving PPT in DPS/DPT format.
ppt.SaveToFile(outputPath + filename + ".dps", FileFormat.Dps);
ppt.SaveToFile(outputPath + filename + ".dpt", FileFormat.Dpt);
New feature SPIREPPT-1635 Supports changing font sizes and the position of trend lines of the chart legend in PPT.
IChart chart = ppt.Slides[0].Shapes[0] as IChart;
ITrendlines trendline = chart.Series[0].TrendLines[0] as ITrendlines;
foreach(TextParagraph para in trendline.TrendLineLabel.TextFrameProperties.Paragraphs)
{
    para.DefaultCharacterProperties.FontHeight = 20;
    foreach(TextRange range in para.TextRanges)
    {
        range.FontHeight = 20;
    }
}
trendline.TrendLineLabel.OffsetX = -0.1f;
trendline.TrendLineLabel.OffsetY = 0.1f;
New feature SPIREPPT-1639 Supports setting border styles of the chart in PPT to right angle.
IChart chart = ppt.Slides[0].Shapes[0] as IChart;
chart.Line.FillFormat.FillType = FillFormatType.Solid;
chart.Line.FillFormat.SolidFillColor.Color = Color.Red;
chart.BorderRoundedCorners = false;
New feature SPIREPPT-1643 Supports using regex to replace text in PPT.
Regex regex = new Regex("^[A-Za-z]+$");
string newvalue = "new string";
foreach(IShape shape in ppt.Slides[0].Shapes)
{
    shape.ReplaceTextWithRegex(regex, newvalue);
}
Bug SPIREPPT-1626 Fixes the issue that the OLE icon disappeared after converting PPT to PDF under the Linux environment.
Bug SPIREPPT-1632 Fixes the issue that the program threw an exception when deleting the trend line of the chart legend in PPT.
Bug SPIREPPT-1637 Fixes the issue that the fonts were wrong in the generated file after setting the font of the legend and axis of the chart in PPT.
Bug SPIREPPT-1644 Fixes the issue that the hyperlink was invalid after converting PPT to PDF.
Bug SPIREPPT-1648 Fixes the issue that the generated file had extra lines after converting PPT to PDF
Bug SPIREPPT-1649 Fixes the issue that the program threw an exception when highlighting the text containing")".

Hot Fix Version: 6.7.2

Category ID Description
New feature SPIREPPT-1611 Supports setting interval between marks for chart axis.
Presentation ppt = new Presentation();
ppt.LoadFromFile(intputFile);
IChart chart = ppt.Slides[0].Shapes[0] as IChart;
IChartAxis chartAxis = chart.PrimaryCategoryAxis;
chartAxis.TickMarkSpacing = 30; 
ppt.SaveToFile(outputFile, FileFormat.Pptx2013); 
New feature SPIREPPT-1617 Adds a new overload method of "LoadFromStream" to load encrypted documents via stream.
FileStream from_stream = File.OpenRead(inputFile);
Presentation presentation = new Presentation();
presentation.LoadFromStream(from_stream,FileFormat.Auto, "12345");           
presentation.SaveToFile(outputFile_px, FileFormat.Pptx2013);
Bug SPIREPPT-1610 Fixes the issue that the OLE icon was incorrect after converting PPT to PDF.

Hot Fix Version: 6.6.6

Category ID Description
Bug SPIREPPT-1574
SPIREPPT-1594
Fixes the issue that the icon of the ole object was changed after opening the ole object.
Bug SPIREPPT-1578 Fixes the issue that the application threw the error "System.IndexOutOfRangeException" when loading PPT files.
Bug SPIREPPT-1589 Fixes the issue that the application kept crashing in a loop while copying shapes.
Bug SPIREPPT-1595 Fixes the issue that the video cover in the generated PDF was missing after converting PPTX files to PDF
Bug SPIREPPT-1603 Fixes the issue that the some slides of the ole PPT was missing after inserting a PPT file to another as an ole object

Hot Fix Version: 6.6

Category ID Description
Bug SPIREPPT-1547 Fixes the issue that the application threw the error "Shape was not found" when loading PPT files.
Bug SPIREPPT-1555 Fixes the issue that the line format of the generated file was incorrect after copying the slide.
Bug SPIREPPT-1559 Fixes the issue that the application threw the error "System.IndexOutOfRangeException" when loading PPT files.
Bug SPIREPPT-1560 Fixes the issue that the application threw the error "Can't assign string which contains paragraph break character" when replacing the text.
Bug SPIREPPT-1561 Fixes the issue that it did not take effect when setting the text effect of the WordArt to arch.
Bug SPIREPPT-1570 Fixes the issue that the content was incorrect after converting PPT to PDF.

Hot Fix Version: 6.4.5/h3>
Category ID Description
New feature SPIREPPT-1469 Supports adding Video media from stream.
AppendVideoMedia(Stream stream, RectangleF rectangle);
New feature SPIREPPT-1519 Supports adding customized path animation.
Presentation ppt = new Presentation();
IAutoShape shape = ppt.Slides[0].Shapes.AppendShape(ShapeType.Rectangle, new RectangleF(0, 0, 200, 200)); 
AnimationEffect effect = ppt.Slides[0].Timeline.MainSequence.
AddEffect(shape, AnimationEffectType.PathUser);
CommonBehaviorCollection common = effect.CommonBehaviorCollection;
AnimationMotion motion = (AnimationMotion)common[0];
motion.Origin = AnimationMotionOrigin.Layout;
motion.PathEditMode = AnimationMotionPathEditMode.Relative;
MotionPath moinPath = new MotionPath();
moinPath.Add(MotionCommandPathType.MoveTo, new PointF[] { new PointF(0, 0) }, MotionPathPointsType.CurveAuto, true);
moinPath.Add(MotionCommandPathType.LineTo, new PointF[] { new PointF(0.1f, 0.1f) }, MotionPathPointsType.CurveAuto, true);
moinPath.Add(MotionCommandPathType.LineTo, new PointF[] { new PointF(-0.1f, 0.2f) }, MotionPathPointsType.CurveAuto, true);
moinPath.Add(MotionCommandPathType.End, new PointF[] { }, MotionPathPointsType.CurveStraight, true);
motion.Path = moinPath;
ppt.SaveToFile(outputFile, FileFormat.Pptx2010);
ppt.Dispose();
Bug SPIREPPT-1471 Fixes the issue that the shadow effect was incorrect after converting PPTX to images.
Bug SPIREPPT-1501 Fixes the issue that it failed to set the correct duration of the animation.
Bug SPIREPPT-1517 Fixes the issue that the content was incorrect after converting PPTX to images.
Bug SPIREPPT-1532 Fixes the issue that the application threw the error "System.NullReferenceException" when loading PPTX files.
Bug SPIREPPT-1537 Fixes the issue that the application threw the error "System.IndexOutOfRangeException" when loading PPT files