Aspose.Slides.NET 15.10.0

Aspose.Slides for .NET

Aspose.Slides is a PowerPoint management library for working with Microsoft PowerPoint files without using Microsoft PowerPoint. It allows developers to work with PPT, PPS, POT, PPTX, PPSX, POTX and ODP files on ASP.NET web applications, web services and Windows applications.

There is a newer version of this package available.
See the version list below for details.
Install-Package Aspose.Slides.NET -Version 15.10.0
dotnet add package Aspose.Slides.NET --version 15.10.0
<PackageReference Include="Aspose.Slides.NET" Version="15.10.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Aspose.Slides.NET --version 15.10.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

Minor Changes

SLIDESNET-36651 - Animating chart series API

Other improments and changes
Bug Fixes

SLIDESNET-37012 - Empty column is missing in generated PDF
SLIDESNET-37006 - Incorrect text on ppt to html in Chrome
SLIDESNET-36987 - Chart label font color changed on saving pptx
SLIDESNET-36956 - Presentation gets corrupt on adding slide notes
SLIDESNET-36950 - Aspose.Slides corrupts PPTX file if it contains a trash folder
SLIDESNET-36948 - Implement ODP rotate and translate frame's transformations
SLIDESNET-36935 - Saving POT to POTX results in corrupted presenatation
SLIDESNET-36920 - Artifacts from chart on generated thumbnail
SLIDESNET-36911 - Background missing in generated thumbnail
SLIDESNET-36906 - Problem with number format of list in generated PDF
SLIDESNET-36902 - Saved pptx presentation requires recovery in PowerPoint
SLIDESNET-36879 - Bullets are lost in generated html file
SLIDESNET-36862 - Cell's border is not completely drawn in case of adjacent merged cells
SLIDESNET-36848 - Layouts are distorted
SLIDESNET-36607 - Text on pdf is lost when opened in mac
SLIDESNET-36052 - Series Fill Color not getting applied on secondary Y axis
SLIDESNET-35988 - Exception on exporting PPT to PDF
SLIDESNET-35768 - Fonts are not rendered from HTML to presentation
SLIDESNET-35590 - ArgumentException is thrown while Odp loading
SLIDESNET-35579 - Wrong Display of Chart data when converting PPTX to JPG
SLIDESNET-35541 - The bullet is improperly rendered in generated slide thumbnail
SLIDESNET-35539 - Table cell border is rendered wrong
SLIDESNET-35482 - Improper charts rendering
SLIDESNET-35422 - Object Reference Exception is thrown on opening the PPTX file
SLIDESNET-35404 - Aspose.Slides failed to load chart series fill if it is Automatic fill color
SLIDESNET-34585 - Border for merged table cells is improperly applied

Public API Changes
A new VideoPlayerHtmlController added to support export od media files to HTML

The new public class VideoPlayerHtmlController has been added to Aspose.Slides.Export namespace. Using the instance of this class user can export video and audio files into HTML.
VideoPlayerHtmlController contructors accepts the following parameters:
path: The path where video and audio files will be generated
fileName: The name of the HTML file
baseUri: The base URI which will be used to generate links
Usage example:

using (Presentation pres = new Presentation("example.pptx"))
{
   const string path = "path";
   const string fileName = "video.html";
   const string baseUri = "http://www.example.com/";

   VideoPlayerHtmlController controller = new VideoPlayerHtmlController(path: path, fileName: fileName, baseUri: baseUri);

   HtmlOptions htmlOptions = new HtmlOptions(controller);
   SVGOptions svgOptions = new SVGOptions(controller);

   htmlOptions.HtmlFormatter = HtmlFormatter.CreateCustomFormatter(controller);
   htmlOptions.SlideImageFormat = SlideImageFormat.Svg(svgOptions);

   pres.Save(Path.Combine(path, fileName), SaveFormat.Html, htmlOptions);
}

Chart series animation API has been added

The new 2 methods have been added to Aspose.Slides.Animation.ISequence interface.

IEffect AddEffect(IChart chart, EffectChartMajorGroupingType type, int index, EffectType effectType, EffectSubtype subtype, EffectTriggerType triggerType);
IEffect AddEffect(IChart chart, EffectChartMinorGroupingType type, int seriesIndex, int categoriesIndex, EffectType effectType, EffectSubtype subtype, EffectTriggerType triggerType);

These methods are intended to support the chart's elements animations:
by series
by categories
by series elements
by categories elements

The two new enums EffectChartMajorGroupingType and EffectChartMinorGroupingType related to the chart's elements animation were introduced.

To add a series animation to the chart the following code may be used:

using (Presentation pres = new Presentation(inFileName))
{
   var slide = pres.Slides[0] as Slide;
   var shapes = slide.Shapes as ShapeCollection;
   var chart = shapes[0] as IChart;

   slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None,
       EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMajorGroupingType.BySeries, 0,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMajorGroupingType.BySeries, 1,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMajorGroupingType.BySeries, 2,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMajorGroupingType.BySeries, 3,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   pres.Save(outFileName, SaveFormat.Pptx);
}

Categories animation:

using (Presentation pres = new Presentation(inFileName))
{
   var slide = pres.Slides[0] as Slide;
   var shapes = slide.Shapes as ShapeCollection;
   var chart = shapes[0] as IChart;

   slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None,
       EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMajorGroupingType.ByCategory, 0,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMajorGroupingType.ByCategory, 1,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMajorGroupingType.ByCategory, 2,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMajorGroupingType.ByCategory, 3,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   pres.Save(outFileName, SaveFormat.Pptx);
}

Series elements animation:

using (Presentation pres = new Presentation(inFileName))
{
   var slide = pres.Slides[0] as Slide;
   var shapes = slide.Shapes as ShapeCollection;
   var chart = shapes[0] as IChart;

   slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None,
       EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInSeries, 0, 0,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInSeries, 0, 1,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInSeries, 0, 2,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInSeries, 0, 3,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInSeries, 1, 0,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInSeries, 1, 1,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInSeries, 1, 2,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInSeries, 1, 3,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInSeries, 2, 0,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInSeries, 2, 1,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInSeries, 2, 2,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInSeries, 2, 3,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   pres.Save(outFileName, SaveFormat.Pptx);
}

Categories elements animation:

using (Presentation pres = new Presentation(inFileName))
{
   var slide = pres.Slides[0] as Slide;
   var shapes = slide.Shapes as ShapeCollection;
   var chart = shapes[0] as IChart;

   slide.Timeline.MainSequence.AddEffect(chart, EffectType.Fade, EffectSubtype.None,
       EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInCategory, 0, 0,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInCategory, 0, 1,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInCategory, 0, 2,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInCategory, 0, 3,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInCategory, 1, 0,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInCategory, 1, 1,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInCategory, 1, 2,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInCategory, 1, 3,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInCategory, 2, 0,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInCategory, 2, 1,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInCategory, 2, 2,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);
   ((Sequence)slide.Timeline.MainSequence).AddEffect(chart,
       EffectChartMinorGroupingType.ByElementInCategory, 2, 3,
       EffectType.Appear, EffectSubtype.None, EffectTriggerType.AfterPrevious);

   pres.Save(outFileName, SaveFormat.Pptx);
}

Dependencies

This package has no dependencies.

Version History

Version Downloads Last updated
19.6.0 833 6/25/2019
19.5.0 2,092 5/31/2019
19.4.0 3,460 4/26/2019
19.3.0 2,157 4/3/2019
19.2.0 6,156 2/28/2019
19.1.0 6,865 1/30/2019
18.12.0 4,169 12/27/2018
18.11.0 3,566 11/30/2018
18.10.0 10,582 10/30/2018
18.9.0 3,145 9/30/2018
18.8.0 3,443 8/29/2018
18.7.0 9,212 7/27/2018
18.6.0 9,914 7/1/2018
18.5.0 5,514 5/30/2018
18.4.0 2,326 5/3/2018
18.3.0 3,077 4/1/2018
18.2.1 3,502 3/7/2018
18.2.0 1,881 2/28/2018
18.1.0 2,878 1/30/2018
17.12.1 4,757 12/26/2017
17.12.0 807 12/16/2017
17.11.0 1,279 11/30/2017
17.10.0 3,949 10/31/2017
17.9.1 3,456 10/12/2017
17.9.0 1,403 10/2/2017
17.8.0 9,207 8/30/2017
17.7.0 6,093 7/31/2017
17.6.0 2,210 7/1/2017
17.5.0 1,994 5/31/2017
17.4.0 2,558 4/28/2017
17.3.0 2,959 4/2/2017
17.2.0 7,199 3/1/2017
17.1.0 3,130 1/31/2017
16.12.1 3,100 1/16/2017
16.12.0 1,531 12/27/2016
16.11.0 2,340 11/30/2016
16.10.0 2,316 11/4/2016
16.9.0 2,931 10/12/2016
16.8.0 2,870 9/27/2016
16.7.0 1,499 8/22/2016
16.6.0 16,037 7/15/2016
16.5.0 3,108 6/16/2016
16.4.0 3,327 5/16/2016
16.3.0 7,763 4/11/2016
16.2.0 4,258 3/17/2016
16.1.0 5,803 2/4/2016
15.11.0 9,101 1/11/2016
15.10.0 9,178 12/10/2015
15.9.0 5,448 11/6/2015
15.8.1 913 10/16/2015
15.8.0 1,207 10/5/2015
15.7.0 3,111 9/3/2015
15.6.0 7,009 7/22/2015
15.5.0 2,684 6/16/2015
15.4.0 1,797 5/14/2015
15.3.1 1,001 4/23/2015
15.3.0 665 4/14/2015
15.2.0 8,543 3/6/2015
15.1.0 1,218 2/3/2015
14.10.0 4,554 11/28/2014
14.9.0 1,478 11/11/2014
14.8.1 1,377 10/24/2014
14.8.0 620 10/16/2014
14.7.0 1,820 9/7/2014
14.6.0 1,129 8/6/2014
14.5.0 3,059 7/16/2014
14.4.0 1,740 6/2/2014
14.3.0 1,956 5/6/2014
14.2.0 1,135 3/24/2014
14.1.2 1,545 2/17/2014
14.1.1 619 2/10/2014
14.1.0.2 537 2/6/2014
13.12.0 1,475 12/30/2013
8.4.2 4,395 6/5/2014
8.4.1 1,127 5/6/2014
8.4.0 757 3/3/2014
8.3.0.1 645 2/3/2014
8.2.0 592 12/27/2013
8.1.0 4,861 12/16/2013
8.0.0 1,622 10/25/2013
7.9.0 986 10/8/2013
7.8.0 709 9/3/2013
7.7.0 2,927 8/4/2013
7.6.0 777 7/5/2013
7.5.0 1,015 5/27/2013
7.4.0 7,294 4/24/2013
7.3.0 802 4/10/2013
7.2.0 1,027 3/8/2013
7.1.0 3,106 1/28/2013
7.0.0 829 12/31/2012
6.9.0 777 12/10/2012
6.8.0 844 10/30/2012
6.7.0 1,095 10/4/2012
6.6.0 707 9/13/2012
6.5.0 818 7/27/2012
6.4.0 737 6/27/2012
6.3.0 663 5/29/2012
6.2.0 706 5/7/2012
6.1.0 730 3/28/2012
6.0.0 702 3/2/2012
5.9.0.1 722 2/16/2012
5.9.0 1,122 2/16/2012
Show less