Aspose.Slides.NET 15.10.0

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.

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
20.5.0 1,849 5/7/2020
20.4.0 2,326 4/22/2020
20.3.0 6,490 3/23/2020
20.2.0 10,211 2/17/2020
20.1.0 10,810 1/17/2020
19.12.0 3,673 12/31/2019
19.11.0 20,641 11/27/2019
19.10.0 15,550 10/29/2019
19.9.0 17,111 9/12/2019
19.8.0 6,946 8/30/2019
19.7.0 19,021 7/26/2019
19.6.0 5,208 6/25/2019
19.5.0 6,754 5/31/2019
19.4.0 12,310 4/26/2019
19.3.0 4,840 4/3/2019
19.2.0 10,009 2/28/2019
19.1.0 31,726 1/30/2019
18.12.0 7,687 12/27/2018
18.11.0 6,547 11/30/2018
18.10.0 27,589 10/30/2018
18.9.0 4,600 9/30/2018
18.8.0 5,309 8/29/2018
18.7.0 11,471 7/27/2018
18.6.0 21,029 7/1/2018
18.5.0 8,913 5/30/2018
18.4.0 5,695 5/3/2018
18.3.0 3,648 4/1/2018
18.2.1 23,730 3/7/2018
18.2.0 2,344 2/28/2018
18.1.0 4,757 1/30/2018
17.12.1 7,893 12/26/2017
17.12.0 965 12/16/2017
17.11.0 1,478 11/30/2017
17.10.0 7,120 10/31/2017
17.9.1 3,811 10/12/2017
17.9.0 1,774 10/2/2017
17.8.0 11,418 8/30/2017
17.7.0 6,923 7/31/2017
17.6.0 3,018 7/1/2017
17.5.0 2,216 5/31/2017
17.4.0 3,273 4/28/2017
17.3.0 3,974 4/2/2017
17.2.0 10,210 3/1/2017
17.1.0 3,554 1/31/2017
16.12.1 6,433 1/16/2017
16.12.0 1,735 12/27/2016
16.11.0 2,735 11/30/2016
16.10.0 3,629 11/4/2016
16.9.0 3,428 10/12/2016
16.8.0 3,161 9/27/2016
16.7.0 1,673 8/22/2016
16.6.0 23,351 7/15/2016
16.5.0 4,037 6/16/2016
16.4.0 4,335 5/16/2016
16.3.0 11,751 4/11/2016
16.2.0 4,443 3/17/2016
16.1.0 8,116 2/4/2016
15.11.0 11,904 1/11/2016
15.10.0 9,537 12/10/2015
15.9.0 6,019 11/6/2015
15.8.1 1,047 10/16/2015
15.8.0 1,365 10/5/2015
15.7.0 3,656 9/3/2015
15.6.0 11,127 7/22/2015
15.5.0 3,082 6/16/2015
15.4.0 2,066 5/14/2015
15.3.1 1,144 4/23/2015
15.3.0 802 4/14/2015
15.2.0 16,492 3/6/2015
15.1.0 1,892 2/3/2015
14.10.0 4,919 11/28/2014
14.9.0 1,650 11/11/2014
14.8.1 1,523 10/24/2014
14.8.0 759 10/16/2014
14.7.0 2,055 9/7/2014
14.6.0 1,384 8/6/2014
14.5.0 3,344 7/16/2014
14.4.0 1,895 6/2/2014
14.3.0 2,214 5/6/2014
14.2.0 1,292 3/24/2014
14.1.2 1,800 2/17/2014
14.1.1 799 2/10/2014
14.1.0.2 717 2/6/2014
13.12.0 1,665 12/30/2013
8.4.2 9,194 6/5/2014
8.4.1 1,294 5/6/2014
8.4.0 922 3/3/2014
8.3.0.1 796 2/3/2014
8.2.0 756 12/27/2013
8.1.0 5,657 12/16/2013
8.0.0 1,790 10/25/2013
7.9.0 1,152 10/8/2013
7.8.0 843 9/3/2013
7.7.0 5,184 8/4/2013
7.6.0 1,056 7/5/2013
7.5.0 1,668 5/27/2013
7.4.0 7,459 4/24/2013
7.3.0 945 4/10/2013
7.2.0 1,205 3/8/2013
7.1.0 3,245 1/28/2013
7.0.0 1,096 12/31/2012
6.9.0 915 12/10/2012
6.8.0 984 10/30/2012
6.7.0 1,387 10/4/2012
6.6.0 854 9/13/2012
6.5.0 970 7/27/2012
6.4.0 882 6/27/2012
6.3.0 810 5/29/2012
6.2.0 865 5/7/2012
6.1.0 872 3/28/2012
6.0.0 854 3/2/2012
5.9.0.1 916 2/16/2012
5.9.0 1,401 2/16/2012
Show less